xref: /linux/Documentation/ABI/testing/sysfs-bus-thunderbolt (revision 4b794f8066e84818c172c81024f1d61071f14710)
19aaa3b8bSMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
29aaa3b8bSMika WesterbergDate:		Jun 2018
39aaa3b8bSMika WesterbergKernelVersion:	4.17
49aaa3b8bSMika WesterbergContact:	thunderbolt-software@lists.01.org
59aaa3b8bSMika WesterbergDescription:	Holds a comma separated list of device unique_ids that
69aaa3b8bSMika Westerberg		are allowed to be connected automatically during system
79aaa3b8bSMika Westerberg		startup (e.g boot devices). The list always contains
89aaa3b8bSMika Westerberg		maximum supported number of unique_ids where unused
99aaa3b8bSMika Westerberg		entries are empty. This allows the userspace software
109aaa3b8bSMika Westerberg		to determine how many entries the controller supports.
119aaa3b8bSMika Westerberg		If there are multiple controllers, each controller has
129aaa3b8bSMika Westerberg		its own ACL list and size may be different between the
139aaa3b8bSMika Westerberg		controllers.
149aaa3b8bSMika Westerberg
159aaa3b8bSMika Westerberg		System BIOS may have an option "Preboot ACL" or similar
169aaa3b8bSMika Westerberg		that needs to be selected before this list is taken into
179aaa3b8bSMika Westerberg		consideration.
189aaa3b8bSMika Westerberg
199aaa3b8bSMika Westerberg		Software always updates a full list in each write.
209aaa3b8bSMika Westerberg
219aaa3b8bSMika Westerberg		If a device is authorized automatically during boot its
229aaa3b8bSMika Westerberg		boot attribute is set to 1.
239aaa3b8bSMika Westerberg
24dcc3c9e3SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
25dcc3c9e3SMika WesterbergDate:		Mar 2019
26dcc3c9e3SMika WesterbergKernelVersion:	4.21
27dcc3c9e3SMika WesterbergContact:	thunderbolt-software@lists.01.org
28dcc3c9e3SMika WesterbergDescription:	This attribute tells whether the system uses IOMMU
29dcc3c9e3SMika Westerberg		for DMA protection. Value of 1 means IOMMU is used 0 means
30dcc3c9e3SMika Westerberg		it is not (DMA protection is solely based on Thunderbolt
31dcc3c9e3SMika Westerberg		security levels).
32dcc3c9e3SMika Westerberg
33f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../domainX/security
34f67cf491SMika WesterbergDate:		Sep 2017
35f67cf491SMika WesterbergKernelVersion:	4.13
36f67cf491SMika WesterbergContact:	thunderbolt-software@lists.01.org
37f67cf491SMika WesterbergDescription:	This attribute holds current Thunderbolt security level
38f67cf491SMika Westerberg		set by the system BIOS. Possible values are:
39f67cf491SMika Westerberg
40f67cf491SMika Westerberg		none: All devices are automatically authorized
41f67cf491SMika Westerberg		user: Devices are only authorized based on writing
42f67cf491SMika Westerberg		      appropriate value to the authorized attribute
43f67cf491SMika Westerberg		secure: Require devices that support secure connect at
44f67cf491SMika Westerberg			minimum. User needs to authorize each device.
45f67cf491SMika Westerberg		dponly: Automatically tunnel Display port (and USB). No
46f67cf491SMika Westerberg			PCIe tunnels are created.
476fc14e1aSMika Westerberg		usbonly: Automatically tunnel USB controller of the
486fc14e1aSMika Westerberg			 connected Thunderbolt dock (and Display Port). All
496fc14e1aSMika Westerberg			 PCIe links downstream of the dock are removed.
50f67cf491SMika Westerberg
51f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../authorized
52f67cf491SMika WesterbergDate:		Sep 2017
53f67cf491SMika WesterbergKernelVersion:	4.13
54f67cf491SMika WesterbergContact:	thunderbolt-software@lists.01.org
55f67cf491SMika WesterbergDescription:	This attribute is used to authorize Thunderbolt devices
56f67cf491SMika Westerberg		after they have been connected. If the device is not
57f67cf491SMika Westerberg		authorized, no devices such as PCIe and Display port are
58f67cf491SMika Westerberg		available to the system.
59f67cf491SMika Westerberg
60f67cf491SMika Westerberg		Contents of this attribute will be 0 when the device is not
61f67cf491SMika Westerberg		yet authorized.
62f67cf491SMika Westerberg
63f67cf491SMika Westerberg		Possible values are supported:
64f67cf491SMika Westerberg		1: The device will be authorized and connected
65f67cf491SMika Westerberg
66f67cf491SMika Westerberg		When key attribute contains 32 byte hex string the possible
67f67cf491SMika Westerberg		values are:
68f67cf491SMika Westerberg		1: The 32 byte hex string is added to the device NVM and
69f67cf491SMika Westerberg		   the device is authorized.
70f67cf491SMika Westerberg		2: Send a challenge based on the 32 byte hex string. If the
71f67cf491SMika Westerberg		   challenge response from device is valid, the device is
72f67cf491SMika Westerberg		   authorized. In case of failure errno will be ENOKEY if
73f67cf491SMika Westerberg		   the device did not contain a key at all, and
74f67cf491SMika Westerberg		   EKEYREJECTED if the challenge response did not match.
75f67cf491SMika Westerberg
7614862ee3SYehezkel BernatWhat: /sys/bus/thunderbolt/devices/.../boot
7714862ee3SYehezkel BernatDate:		Jun 2018
7814862ee3SYehezkel BernatKernelVersion:	4.17
7914862ee3SYehezkel BernatContact:	thunderbolt-software@lists.01.org
8014862ee3SYehezkel BernatDescription:	This attribute contains 1 if Thunderbolt device was already
8114862ee3SYehezkel Bernat		authorized on boot and 0 otherwise.
8214862ee3SYehezkel Bernat
83b406357cSChristian KellnerWhat: /sys/bus/thunderbolt/devices/.../generation
84b406357cSChristian KellnerDate:		Jan 2020
85b406357cSChristian KellnerKernelVersion:	5.5
86b406357cSChristian KellnerContact:	Christian Kellner <christian@kellner.me>
87b406357cSChristian KellnerDescription:	This attribute contains the generation of the Thunderbolt
88b406357cSChristian Kellner		controller associated with the device. It will contain 4
89b406357cSChristian Kellner		for USB4.
90b406357cSChristian Kellner
91f67cf491SMika WesterbergWhat: /sys/bus/thunderbolt/devices/.../key
92f67cf491SMika WesterbergDate:		Sep 2017
93f67cf491SMika WesterbergKernelVersion:	4.13
94f67cf491SMika WesterbergContact:	thunderbolt-software@lists.01.org
95f67cf491SMika WesterbergDescription:	When a devices supports Thunderbolt secure connect it will
96f67cf491SMika Westerberg		have this attribute. Writing 32 byte hex string changes
97f67cf491SMika Westerberg		authorization to use the secure connection method instead.
98e545f0d8SBernat, Yehezkel		Writing an empty string clears the key and regular connection
99e545f0d8SBernat, Yehezkel		method can be used again.
100f67cf491SMika Westerberg
101bfe778acSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../device
102bfe778acSMika WesterbergDate:		Sep 2017
103bfe778acSMika WesterbergKernelVersion:	4.13
104bfe778acSMika WesterbergContact:	thunderbolt-software@lists.01.org
105bfe778acSMika WesterbergDescription:	This attribute contains id of this device extracted from
106bfe778acSMika Westerberg		the device DROM.
107bfe778acSMika Westerberg
10872ee3390SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../device_name
10972ee3390SMika WesterbergDate:		Sep 2017
11072ee3390SMika WesterbergKernelVersion:	4.13
11172ee3390SMika WesterbergContact:	thunderbolt-software@lists.01.org
11272ee3390SMika WesterbergDescription:	This attribute contains name of this device extracted from
11372ee3390SMika Westerberg		the device DROM.
11472ee3390SMika Westerberg
11591c0c120SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../rx_speed
11691c0c120SMika WesterbergDate:		Jan 2020
11791c0c120SMika WesterbergKernelVersion:	5.5
11891c0c120SMika WesterbergContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
11991c0c120SMika WesterbergDescription:	This attribute reports the device RX speed per lane.
12091c0c120SMika Westerberg		All RX lanes run at the same speed.
12191c0c120SMika Westerberg
12291c0c120SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../rx_lanes
12391c0c120SMika WesterbergDate:		Jan 2020
12491c0c120SMika WesterbergKernelVersion:	5.5
12591c0c120SMika WesterbergContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
12691c0c120SMika WesterbergDescription:	This attribute reports number of RX lanes the device is
12791c0c120SMika Westerberg		using simultaneusly through its upstream port.
12891c0c120SMika Westerberg
12991c0c120SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../tx_speed
13091c0c120SMika WesterbergDate:		Jan 2020
13191c0c120SMika WesterbergKernelVersion:	5.5
13291c0c120SMika WesterbergContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
13391c0c120SMika WesterbergDescription:	This attribute reports the TX speed per lane.
13491c0c120SMika Westerberg		All TX lanes run at the same speed.
13591c0c120SMika Westerberg
13691c0c120SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../tx_lanes
13791c0c120SMika WesterbergDate:		Jan 2020
13891c0c120SMika WesterbergKernelVersion:	5.5
13991c0c120SMika WesterbergContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
14091c0c120SMika WesterbergDescription:	This attribute reports number of TX lanes the device is
14191c0c120SMika Westerberg		using simultaneusly through its upstream port.
14291c0c120SMika Westerberg
143bfe778acSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../vendor
144bfe778acSMika WesterbergDate:		Sep 2017
145bfe778acSMika WesterbergKernelVersion:	4.13
146bfe778acSMika WesterbergContact:	thunderbolt-software@lists.01.org
147bfe778acSMika WesterbergDescription:	This attribute contains vendor id of this device extracted
148bfe778acSMika Westerberg		from the device DROM.
149bfe778acSMika Westerberg
15072ee3390SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../vendor_name
15172ee3390SMika WesterbergDate:		Sep 2017
15272ee3390SMika WesterbergKernelVersion:	4.13
15372ee3390SMika WesterbergContact:	thunderbolt-software@lists.01.org
15472ee3390SMika WesterbergDescription:	This attribute contains vendor name of this device extracted
15572ee3390SMika Westerberg		from the device DROM.
15672ee3390SMika Westerberg
157bfe778acSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../unique_id
158bfe778acSMika WesterbergDate:		Sep 2017
159bfe778acSMika WesterbergKernelVersion:	4.13
160bfe778acSMika WesterbergContact:	thunderbolt-software@lists.01.org
161bfe778acSMika WesterbergDescription:	This attribute contains unique_id string of this device.
162bfe778acSMika Westerberg		This is either read from hardware registers (UUID on
163bfe778acSMika Westerberg		newer hardware) or based on UID from the device DROM.
164bfe778acSMika Westerberg		Can be used to uniquely identify particular device.
165e6b245ccSMika Westerberg
166e6b245ccSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../nvm_version
167e6b245ccSMika WesterbergDate:		Sep 2017
168e6b245ccSMika WesterbergKernelVersion:	4.13
169e6b245ccSMika WesterbergContact:	thunderbolt-software@lists.01.org
170e6b245ccSMika WesterbergDescription:	If the device has upgradeable firmware the version
171e6b245ccSMika Westerberg		number is available here. Format: %x.%x, major.minor.
172e6b245ccSMika Westerberg		If the device is in safe mode reading the file returns
173e6b245ccSMika Westerberg		-ENODATA instead as the NVM version is not available.
174e6b245ccSMika Westerberg
175e6b245ccSMika WesterbergWhat:		/sys/bus/thunderbolt/devices/.../nvm_authenticate
176e6b245ccSMika WesterbergDate:		Sep 2017
177e6b245ccSMika WesterbergKernelVersion:	4.13
178e6b245ccSMika WesterbergContact:	thunderbolt-software@lists.01.org
179e6b245ccSMika WesterbergDescription:	When new NVM image is written to the non-active NVM
180e6b245ccSMika Westerberg		area (through non_activeX NVMem device), the
181*4b794f80SMario Limonciello		authentication procedure is started by writing to
182*4b794f80SMario Limonciello		this file.
183*4b794f80SMario Limonciello		If everything goes well, the device is
184e6b245ccSMika Westerberg		restarted with the new NVM firmware. If the image
185e6b245ccSMika Westerberg		verification fails an error code is returned instead.
186e6b245ccSMika Westerberg
187*4b794f80SMario Limonciello		This file will accept writing values "1" or "2"
188*4b794f80SMario Limonciello		- Writing "1" will flush the image to the storage
189*4b794f80SMario Limonciello		area and authenticate the image in one action.
190*4b794f80SMario Limonciello		- Writing "2" will run some basic validation on the image
191*4b794f80SMario Limonciello		and flush it to the storage area.
192*4b794f80SMario Limonciello
193e6b245ccSMika Westerberg		When read holds status of the last authentication
194e6b245ccSMika Westerberg		operation if an error occurred during the process. This
195e6b245ccSMika Westerberg		is directly the status value from the DMA configuration
196e6b245ccSMika Westerberg		based mailbox before the device is power cycled. Writing
197e6b245ccSMika Westerberg		0 here clears the status.
198d1ff7024SMika Westerberg
199d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/key
200d1ff7024SMika WesterbergDate:		Jan 2018
201d1ff7024SMika WesterbergKernelVersion:	4.15
202d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
203d1ff7024SMika WesterbergDescription:	This contains name of the property directory the XDomain
204d1ff7024SMika Westerberg		service exposes. This entry describes the protocol in
205d1ff7024SMika Westerberg		question. Following directories are already reserved by
206d1ff7024SMika Westerberg		the Apple XDomain specification:
207d1ff7024SMika Westerberg
208d1ff7024SMika Westerberg		network:  IP/ethernet over Thunderbolt
209d1ff7024SMika Westerberg		targetdm: Target disk mode protocol over Thunderbolt
210d1ff7024SMika Westerberg		extdisp:  External display mode protocol over Thunderbolt
211d1ff7024SMika Westerberg
212d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
213d1ff7024SMika WesterbergDate:		Jan 2018
214d1ff7024SMika WesterbergKernelVersion:	4.15
215d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
216d1ff7024SMika WesterbergDescription:	Stores the same MODALIAS value emitted by uevent for
217d1ff7024SMika Westerberg		the XDomain service. Format: tbtsvc:kSpNvNrN
218d1ff7024SMika Westerberg
219d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
220d1ff7024SMika WesterbergDate:		Jan 2018
221d1ff7024SMika WesterbergKernelVersion:	4.15
222d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
223d1ff7024SMika WesterbergDescription:	This contains XDomain protocol identifier the XDomain
224d1ff7024SMika Westerberg		service supports.
225d1ff7024SMika Westerberg
226d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
227d1ff7024SMika WesterbergDate:		Jan 2018
228d1ff7024SMika WesterbergKernelVersion:	4.15
229d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
230d1ff7024SMika WesterbergDescription:	This contains XDomain protocol version the XDomain
231d1ff7024SMika Westerberg		service supports.
232d1ff7024SMika Westerberg
233d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
234d1ff7024SMika WesterbergDate:		Jan 2018
235d1ff7024SMika WesterbergKernelVersion:	4.15
236d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
237d1ff7024SMika WesterbergDescription:	This contains XDomain software version the XDomain
238d1ff7024SMika Westerberg		service supports.
239d1ff7024SMika Westerberg
240d1ff7024SMika WesterbergWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
241d1ff7024SMika WesterbergDate:		Jan 2018
242d1ff7024SMika WesterbergKernelVersion:	4.15
243d1ff7024SMika WesterbergContact:	thunderbolt-software@lists.01.org
244d1ff7024SMika WesterbergDescription:	This contains XDomain service specific settings as
245d1ff7024SMika Westerberg		bitmask. Format: %x
246dacb1287SKranthi Kuntala
247dacb1287SKranthi KuntalaWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
248dacb1287SKranthi KuntalaDate:		Oct 2020
249dacb1287SKranthi KuntalaKernelVersion:	v5.9
250dacb1287SKranthi KuntalaContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
251dacb1287SKranthi KuntalaDescription:	Retimer device identifier read from the hardware.
252dacb1287SKranthi Kuntala
253dacb1287SKranthi KuntalaWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
254dacb1287SKranthi KuntalaDate:		Oct 2020
255dacb1287SKranthi KuntalaKernelVersion:	v5.9
256dacb1287SKranthi KuntalaContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
257dacb1287SKranthi KuntalaDescription:	When new NVM image is written to the non-active NVM
258dacb1287SKranthi Kuntala		area (through non_activeX NVMem device), the
259dacb1287SKranthi Kuntala		authentication procedure is started by writing 1 to
260dacb1287SKranthi Kuntala		this file. If everything goes well, the device is
261dacb1287SKranthi Kuntala		restarted with the new NVM firmware. If the image
262dacb1287SKranthi Kuntala		verification fails an error code is returned instead.
263dacb1287SKranthi Kuntala
264dacb1287SKranthi Kuntala		When read holds status of the last authentication
265dacb1287SKranthi Kuntala		operation if an error occurred during the process.
266dacb1287SKranthi Kuntala		Format: %x.
267dacb1287SKranthi Kuntala
268dacb1287SKranthi KuntalaWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
269dacb1287SKranthi KuntalaDate:		Oct 2020
270dacb1287SKranthi KuntalaKernelVersion:	v5.9
271dacb1287SKranthi KuntalaContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
272dacb1287SKranthi KuntalaDescription:	Holds retimer NVM version number. Format: %x.%x, major.minor.
273dacb1287SKranthi Kuntala
274dacb1287SKranthi KuntalaWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
275dacb1287SKranthi KuntalaDate:		Oct 2020
276dacb1287SKranthi KuntalaKernelVersion:	v5.9
277dacb1287SKranthi KuntalaContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
278dacb1287SKranthi KuntalaDescription:	Retimer vendor identifier read from the hardware.
279