Linux Audio

Check our new training course

Loading...
v6.2
  1What:		/sys/bus/thunderbolt/devices/.../domainX/boot_acl
  2Date:		Jun 2018
  3KernelVersion:	4.17
  4Contact:	thunderbolt-software@lists.01.org
  5Description:	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
 24What:		/sys/bus/thunderbolt/devices/.../domainX/deauthorization
 25Date:		May 2021
 26KernelVersion:	5.12
 27Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 28Description:	This attribute tells whether the system supports
 29		de-authorization of devices. Value of 1 means user can
 30		de-authorize PCIe tunnel by writing 0 to authorized
 31		attribute under each device.
 32
 33What:		/sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
 34Date:		Mar 2019
 35KernelVersion:	4.21
 36Contact:	thunderbolt-software@lists.01.org
 37Description:	This attribute tells whether the system uses IOMMU
 38		for DMA protection. Value of 1 means IOMMU is used 0 means
 39		it is not (DMA protection is solely based on Thunderbolt
 40		security levels).
 41
 42What:		/sys/bus/thunderbolt/devices/.../domainX/security
 43Date:		Sep 2017
 44KernelVersion:	4.13
 45Contact:	thunderbolt-software@lists.01.org
 46Description:	This attribute holds current Thunderbolt security level
 47		set by the system BIOS. Possible values are:
 48
 49		=======  ==================================================
 50		none     All devices are automatically authorized
 51		user     Devices are only authorized based on writing
 52		         appropriate value to the authorized attribute
 53		secure   Require devices that support secure connect at
 54			 minimum. User needs to authorize each device.
 55		dponly   Automatically tunnel Display port (and USB). No
 56			 PCIe tunnels are created.
 57		usbonly  Automatically tunnel USB controller of the
 58			 connected Thunderbolt dock (and Display Port). All
 59			 PCIe links downstream of the dock are removed.
 60		nopcie   USB4 system where PCIe tunneling is disabled from
 61			 the BIOS.
 62		=======  ==================================================
 63
 64What:		/sys/bus/thunderbolt/devices/.../authorized
 65Date:		Sep 2017
 66KernelVersion:	4.13
 67Contact:	thunderbolt-software@lists.01.org
 68Description:	This attribute is used to authorize Thunderbolt devices
 69		after they have been connected. If the device is not
 70		authorized, no PCIe devices are available to the system.
 
 71
 72		Contents of this attribute will be 0 when the device is not
 73		yet authorized.
 74
 75		Possible values are supported:
 76
 77		==  ===================================================
 78		0   The device will be de-authorized (only supported if
 79		    deauthorization attribute under domain contains 1)
 80		1   The device will be authorized and connected
 81		==  ===================================================
 82
 83		When key attribute contains 32 byte hex string the possible
 84		values are:
 
 
 
 
 
 
 
 85
 86		==  ========================================================
 87		0   The device will be de-authorized (only supported if
 88		    deauthorization attribute under domain contains 1)
 89		1   The 32 byte hex string is added to the device NVM and
 90		    the device is authorized.
 91		2   Send a challenge based on the 32 byte hex string. If the
 92		    challenge response from device is valid, the device is
 93		    authorized. In case of failure errno will be ENOKEY if
 94		    the device did not contain a key at all, and
 95		    EKEYREJECTED if the challenge response did not match.
 96		==  ========================================================
 97
 98What:		/sys/bus/thunderbolt/devices/.../boot
 99Date:		Jun 2018
100KernelVersion:	4.17
101Contact:	thunderbolt-software@lists.01.org
102Description:	This attribute contains 1 if Thunderbolt device was already
103		authorized on boot and 0 otherwise.
104
105What:		/sys/bus/thunderbolt/devices/.../generation
106Date:		Jan 2020
107KernelVersion:	5.5
108Contact:	Christian Kellner <christian@kellner.me>
109Description:	This attribute contains the generation of the Thunderbolt
110		controller associated with the device. It will contain 4
111		for USB4.
112
113What:		/sys/bus/thunderbolt/devices/.../key
114Date:		Sep 2017
115KernelVersion:	4.13
116Contact:	thunderbolt-software@lists.01.org
117Description:	When a devices supports Thunderbolt secure connect it will
118		have this attribute. Writing 32 byte hex string changes
119		authorization to use the secure connection method instead.
120		Writing an empty string clears the key and regular connection
121		method can be used again.
122
123What:		/sys/bus/thunderbolt/devices/.../device
124Date:		Sep 2017
125KernelVersion:	4.13
126Contact:	thunderbolt-software@lists.01.org
127Description:	This attribute contains id of this device extracted from
128		the device DROM.
129
130What:		/sys/bus/thunderbolt/devices/.../device_name
131Date:		Sep 2017
132KernelVersion:	4.13
133Contact:	thunderbolt-software@lists.01.org
134Description:	This attribute contains name of this device extracted from
135		the device DROM.
136
137What:		/sys/bus/thunderbolt/devices/.../maxhopid
138Date:		Jul 2021
139KernelVersion:	5.13
140Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
141Description:	Only set for XDomains. The maximum HopID the other host
142		supports as its input HopID.
143
144What:		/sys/bus/thunderbolt/devices/.../rx_speed
145Date:		Jan 2020
146KernelVersion:	5.5
147Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
148Description:	This attribute reports the device RX speed per lane.
149		All RX lanes run at the same speed.
150
151What:		/sys/bus/thunderbolt/devices/.../rx_lanes
152Date:		Jan 2020
153KernelVersion:	5.5
154Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
155Description:	This attribute reports number of RX lanes the device is
156		using simultaneously through its upstream port.
157
158What:		/sys/bus/thunderbolt/devices/.../tx_speed
159Date:		Jan 2020
160KernelVersion:	5.5
161Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
162Description:	This attribute reports the TX speed per lane.
163		All TX lanes run at the same speed.
164
165What:		/sys/bus/thunderbolt/devices/.../tx_lanes
166Date:		Jan 2020
167KernelVersion:	5.5
168Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
169Description:	This attribute reports number of TX lanes the device is
170		using simultaneously through its upstream port.
171
172What:		/sys/bus/thunderbolt/devices/.../vendor
173Date:		Sep 2017
174KernelVersion:	4.13
175Contact:	thunderbolt-software@lists.01.org
176Description:	This attribute contains vendor id of this device extracted
177		from the device DROM.
178
179What:		/sys/bus/thunderbolt/devices/.../vendor_name
180Date:		Sep 2017
181KernelVersion:	4.13
182Contact:	thunderbolt-software@lists.01.org
183Description:	This attribute contains vendor name of this device extracted
184		from the device DROM.
185
186What:		/sys/bus/thunderbolt/devices/.../unique_id
187Date:		Sep 2017
188KernelVersion:	4.13
189Contact:	thunderbolt-software@lists.01.org
190Description:	This attribute contains unique_id string of this device.
191		This is either read from hardware registers (UUID on
192		newer hardware) or based on UID from the device DROM.
193		Can be used to uniquely identify particular device.
194
195What:		/sys/bus/thunderbolt/devices/.../nvm_version
196Date:		Sep 2017
197KernelVersion:	4.13
198Contact:	thunderbolt-software@lists.01.org
199Description:	If the device has upgradeable firmware the version
200		number is available here. Format: %x.%x, major.minor.
201		If the device is in safe mode reading the file returns
202		-ENODATA instead as the NVM version is not available.
203
204What:		/sys/bus/thunderbolt/devices/.../nvm_authenticate
205Date:		Sep 2017
206KernelVersion:	4.13
207Contact:	thunderbolt-software@lists.01.org
208Description:	When new NVM image is written to the non-active NVM
209		area (through non_activeX NVMem device), the
210		authentication procedure is started by writing to
211		this file.
212		If everything goes well, the device is
213		restarted with the new NVM firmware. If the image
214		verification fails an error code is returned instead.
215
216		This file will accept writing values "1", "2" or "3".
217
218		- Writing "1" will flush the image to the storage
219		  area and authenticate the image in one action.
220		- Writing "2" will run some basic validation on the image
221		  and flush it to the storage area.
222		- Writing "3" will authenticate the image that is
223		  currently written in the storage area. This is only
224		  supported with USB4 devices and retimers.
225
226		When read holds status of the last authentication
227		operation if an error occurred during the process. This
228		is directly the status value from the DMA configuration
229		based mailbox before the device is power cycled. Writing
230		0 here clears the status.
231
232What:		/sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
233Date:		Oct 2020
234KernelVersion:	v5.9
235Contact:	Mario Limonciello <mario.limonciello@outlook.com>
236Description:	For supported devices, automatically authenticate the new Thunderbolt
237		image when the device is disconnected from the host system.
238
239		This file will accept writing values "1" or "2"
240
241		- Writing "1" will flush the image to the storage
242		  area and prepare the device for authentication on disconnect.
243		- Writing "2" will run some basic validation on the image
244		  and flush it to the storage area.
245
246What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/key
247Date:		Jan 2018
248KernelVersion:	4.15
249Contact:	thunderbolt-software@lists.01.org
250Description:	This contains name of the property directory the XDomain
251		service exposes. This entry describes the protocol in
252		question. Following directories are already reserved by
253		the Apple XDomain specification:
254
255		========  ===============================================
256		network   IP/ethernet over Thunderbolt
257		targetdm  Target disk mode protocol over Thunderbolt
258		extdisp   External display mode protocol over Thunderbolt
259		========  ===============================================
260
261What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
262Date:		Jan 2018
263KernelVersion:	4.15
264Contact:	thunderbolt-software@lists.01.org
265Description:	Stores the same MODALIAS value emitted by uevent for
266		the XDomain service. Format: tbtsvc:kSpNvNrN
267
268What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
269Date:		Jan 2018
270KernelVersion:	4.15
271Contact:	thunderbolt-software@lists.01.org
272Description:	This contains XDomain protocol identifier the XDomain
273		service supports.
274
275What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
276Date:		Jan 2018
277KernelVersion:	4.15
278Contact:	thunderbolt-software@lists.01.org
279Description:	This contains XDomain protocol version the XDomain
280		service supports.
281
282What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
283Date:		Jan 2018
284KernelVersion:	4.15
285Contact:	thunderbolt-software@lists.01.org
286Description:	This contains XDomain software version the XDomain
287		service supports.
288
289What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
290Date:		Jan 2018
291KernelVersion:	4.15
292Contact:	thunderbolt-software@lists.01.org
293Description:	This contains XDomain service specific settings as
294		bitmask. Format: %x
295
296What:		/sys/bus/thunderbolt/devices/usb4_portX/connector
297Date:		April 2022
298Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
299Description:
300		Symlink to the USB Type-C connector. This link is only
301		created when USB Type-C Connector Class is enabled,
302		and only if the system firmware is capable of
303		describing the connection between a port and its
304		connector.
305
306What:		/sys/bus/thunderbolt/devices/usb4_portX/link
307Date:		Sep 2021
308KernelVersion:	v5.14
309Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
310Description:	Returns the current link mode. Possible values are
311		"usb4", "tbt" and "none".
312
313What:		/sys/bus/thunderbolt/devices/usb4_portX/offline
314Date:		Sep 2021
315KernelVersion:	v5.14
316Contact:	Rajmohan Mani <rajmohan.mani@intel.com>
317Description:	Writing 1 to this attribute puts the USB4 port into
318		offline mode. Only allowed when there is nothing
319		connected to the port (link attribute returns "none").
320		Once the port is in offline mode it does not receive any
321		hotplug events. This is used to update NVM firmware of
322		on-board retimers. Writing 0 puts the port back to
323		online mode.
324
325		This attribute is only visible if the platform supports
326		powering on retimers when there is no cable connected.
327
328What:		/sys/bus/thunderbolt/devices/usb4_portX/rescan
329Date:		Sep 2021
330KernelVersion:	v5.14
331Contact:	Rajmohan Mani <rajmohan.mani@intel.com>
332Description:	When the USB4 port is in offline mode writing 1 to this
333		attribute forces rescan of the sideband for on-board
334		retimers. Each retimer appear under the USB4 port as if
335		the USB4 link was up. These retimers act in the same way
336		as if the cable was connected so upgrading their NVM
337		firmware can be done the usual way.
338
339What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
340Date:		Oct 2020
341KernelVersion:	v5.9
342Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
343Description:	Retimer device identifier read from the hardware.
344
345What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
346Date:		Oct 2020
347KernelVersion:	v5.9
348Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
349Description:	When new NVM image is written to the non-active NVM
350		area (through non_activeX NVMem device), the
351		authentication procedure is started by writing 1 to
352		this file. If everything goes well, the device is
353		restarted with the new NVM firmware. If the image
354		verification fails an error code is returned instead.
355
356		When read holds status of the last authentication
357		operation if an error occurred during the process.
358		Format: %x.
359
360What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
361Date:		Oct 2020
362KernelVersion:	v5.9
363Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
364Description:	Holds retimer NVM version number. Format: %x.%x, major.minor.
365
366What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
367Date:		Oct 2020
368KernelVersion:	v5.9
369Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
370Description:	Retimer vendor identifier read from the hardware.
v4.17
  1What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
  2Date:		Jun 2018
  3KernelVersion:	4.17
  4Contact:	thunderbolt-software@lists.01.org
  5Description:	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
 24What: /sys/bus/thunderbolt/devices/.../domainX/security
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 25Date:		Sep 2017
 26KernelVersion:	4.13
 27Contact:	thunderbolt-software@lists.01.org
 28Description:	This attribute holds current Thunderbolt security level
 29		set by the system BIOS. Possible values are:
 30
 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
 
 39			 connected Thunderbolt dock (and Display Port). All
 40			 PCIe links downstream of the dock are removed.
 
 
 
 41
 42What: /sys/bus/thunderbolt/devices/.../authorized
 43Date:		Sep 2017
 44KernelVersion:	4.13
 45Contact:	thunderbolt-software@lists.01.org
 46Description:	This attribute is used to authorize Thunderbolt devices
 47		after they have been connected. If the device is not
 48		authorized, no devices such as PCIe and Display port are
 49		available to the system.
 50
 51		Contents of this attribute will be 0 when the device is not
 52		yet authorized.
 53
 54		Possible values are supported:
 55		1: The device will be authorized and connected
 
 
 
 
 
 56
 57		When key attribute contains 32 byte hex string the possible
 58		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.
 66
 67What: /sys/bus/thunderbolt/devices/.../boot
 
 
 
 
 
 
 
 
 
 
 
 
 68Date:		Jun 2018
 69KernelVersion:	4.17
 70Contact:	thunderbolt-software@lists.01.org
 71Description:	This attribute contains 1 if Thunderbolt device was already
 72		authorized on boot and 0 otherwise.
 73
 74What: /sys/bus/thunderbolt/devices/.../key
 
 
 
 
 
 
 
 
 75Date:		Sep 2017
 76KernelVersion:	4.13
 77Contact:	thunderbolt-software@lists.01.org
 78Description:	When a devices supports Thunderbolt secure connect it will
 79		have this attribute. Writing 32 byte hex string changes
 80		authorization to use the secure connection method instead.
 81		Writing an empty string clears the key and regular connection
 82		method can be used again.
 83
 84What:		/sys/bus/thunderbolt/devices/.../device
 85Date:		Sep 2017
 86KernelVersion:	4.13
 87Contact:	thunderbolt-software@lists.01.org
 88Description:	This attribute contains id of this device extracted from
 89		the device DROM.
 90
 91What:		/sys/bus/thunderbolt/devices/.../device_name
 92Date:		Sep 2017
 93KernelVersion:	4.13
 94Contact:	thunderbolt-software@lists.01.org
 95Description:	This attribute contains name of this device extracted from
 96		the device DROM.
 97
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 98What:		/sys/bus/thunderbolt/devices/.../vendor
 99Date:		Sep 2017
100KernelVersion:	4.13
101Contact:	thunderbolt-software@lists.01.org
102Description:	This attribute contains vendor id of this device extracted
103		from the device DROM.
104
105What:		/sys/bus/thunderbolt/devices/.../vendor_name
106Date:		Sep 2017
107KernelVersion:	4.13
108Contact:	thunderbolt-software@lists.01.org
109Description:	This attribute contains vendor name of this device extracted
110		from the device DROM.
111
112What:		/sys/bus/thunderbolt/devices/.../unique_id
113Date:		Sep 2017
114KernelVersion:	4.13
115Contact:	thunderbolt-software@lists.01.org
116Description:	This attribute contains unique_id string of this device.
117		This is either read from hardware registers (UUID on
118		newer hardware) or based on UID from the device DROM.
119		Can be used to uniquely identify particular device.
120
121What:		/sys/bus/thunderbolt/devices/.../nvm_version
122Date:		Sep 2017
123KernelVersion:	4.13
124Contact:	thunderbolt-software@lists.01.org
125Description:	If the device has upgradeable firmware the version
126		number is available here. Format: %x.%x, major.minor.
127		If the device is in safe mode reading the file returns
128		-ENODATA instead as the NVM version is not available.
129
130What:		/sys/bus/thunderbolt/devices/.../nvm_authenticate
131Date:		Sep 2017
132KernelVersion:	4.13
133Contact:	thunderbolt-software@lists.01.org
134Description:	When new NVM image is written to the non-active NVM
135		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
 
138		restarted with the new NVM firmware. If the image
139		verification fails an error code is returned instead.
140
 
 
 
 
 
 
 
 
 
 
141		When read holds status of the last authentication
142		operation if an error occurred during the process. This
143		is directly the status value from the DMA configuration
144		based mailbox before the device is power cycled. Writing
145		0 here clears the status.
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/key
148Date:		Jan 2018
149KernelVersion:	4.15
150Contact:	thunderbolt-software@lists.01.org
151Description:	This contains name of the property directory the XDomain
152		service exposes. This entry describes the protocol in
153		question. Following directories are already reserved by
154		the Apple XDomain specification:
155
156		network:  IP/ethernet over Thunderbolt
157		targetdm: Target disk mode protocol over Thunderbolt
158		extdisp:  External display mode protocol over Thunderbolt
 
 
159
160What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
161Date:		Jan 2018
162KernelVersion:	4.15
163Contact:	thunderbolt-software@lists.01.org
164Description:	Stores the same MODALIAS value emitted by uevent for
165		the XDomain service. Format: tbtsvc:kSpNvNrN
166
167What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
168Date:		Jan 2018
169KernelVersion:	4.15
170Contact:	thunderbolt-software@lists.01.org
171Description:	This contains XDomain protocol identifier the XDomain
172		service supports.
173
174What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
175Date:		Jan 2018
176KernelVersion:	4.15
177Contact:	thunderbolt-software@lists.01.org
178Description:	This contains XDomain protocol version the XDomain
179		service supports.
180
181What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
182Date:		Jan 2018
183KernelVersion:	4.15
184Contact:	thunderbolt-software@lists.01.org
185Description:	This contains XDomain software version the XDomain
186		service supports.
187
188What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
189Date:		Jan 2018
190KernelVersion:	4.15
191Contact:	thunderbolt-software@lists.01.org
192Description:	This contains XDomain service specific settings as
193		bitmask. Format: %x