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
194