18c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
28c2ecf20Sopenharmony_ciDate:		Jun 2018
38c2ecf20Sopenharmony_ciKernelVersion:	4.17
48c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
58c2ecf20Sopenharmony_ciDescription:	Holds a comma separated list of device unique_ids that
68c2ecf20Sopenharmony_ci		are allowed to be connected automatically during system
78c2ecf20Sopenharmony_ci		startup (e.g boot devices). The list always contains
88c2ecf20Sopenharmony_ci		maximum supported number of unique_ids where unused
98c2ecf20Sopenharmony_ci		entries are empty. This allows the userspace software
108c2ecf20Sopenharmony_ci		to determine how many entries the controller supports.
118c2ecf20Sopenharmony_ci		If there are multiple controllers, each controller has
128c2ecf20Sopenharmony_ci		its own ACL list and size may be different between the
138c2ecf20Sopenharmony_ci		controllers.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci		System BIOS may have an option "Preboot ACL" or similar
168c2ecf20Sopenharmony_ci		that needs to be selected before this list is taken into
178c2ecf20Sopenharmony_ci		consideration.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci		Software always updates a full list in each write.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci		If a device is authorized automatically during boot its
228c2ecf20Sopenharmony_ci		boot attribute is set to 1.
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
258c2ecf20Sopenharmony_ciDate:		Mar 2019
268c2ecf20Sopenharmony_ciKernelVersion:	4.21
278c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
288c2ecf20Sopenharmony_ciDescription:	This attribute tells whether the system uses IOMMU
298c2ecf20Sopenharmony_ci		for DMA protection. Value of 1 means IOMMU is used 0 means
308c2ecf20Sopenharmony_ci		it is not (DMA protection is solely based on Thunderbolt
318c2ecf20Sopenharmony_ci		security levels).
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../domainX/security
348c2ecf20Sopenharmony_ciDate:		Sep 2017
358c2ecf20Sopenharmony_ciKernelVersion:	4.13
368c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
378c2ecf20Sopenharmony_ciDescription:	This attribute holds current Thunderbolt security level
388c2ecf20Sopenharmony_ci		set by the system BIOS. Possible values are:
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci		=======  ==================================================
418c2ecf20Sopenharmony_ci		none     All devices are automatically authorized
428c2ecf20Sopenharmony_ci		user     Devices are only authorized based on writing
438c2ecf20Sopenharmony_ci		         appropriate value to the authorized attribute
448c2ecf20Sopenharmony_ci		secure   Require devices that support secure connect at
458c2ecf20Sopenharmony_ci			 minimum. User needs to authorize each device.
468c2ecf20Sopenharmony_ci		dponly   Automatically tunnel Display port (and USB). No
478c2ecf20Sopenharmony_ci			 PCIe tunnels are created.
488c2ecf20Sopenharmony_ci		usbonly  Automatically tunnel USB controller of the
498c2ecf20Sopenharmony_ci			 connected Thunderbolt dock (and Display Port). All
508c2ecf20Sopenharmony_ci			 PCIe links downstream of the dock are removed.
518c2ecf20Sopenharmony_ci		=======  ==================================================
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../authorized
548c2ecf20Sopenharmony_ciDate:		Sep 2017
558c2ecf20Sopenharmony_ciKernelVersion:	4.13
568c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
578c2ecf20Sopenharmony_ciDescription:	This attribute is used to authorize Thunderbolt devices
588c2ecf20Sopenharmony_ci		after they have been connected. If the device is not
598c2ecf20Sopenharmony_ci		authorized, no devices such as PCIe and Display port are
608c2ecf20Sopenharmony_ci		available to the system.
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci		Contents of this attribute will be 0 when the device is not
638c2ecf20Sopenharmony_ci		yet authorized.
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci		Possible values are supported:
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci		==  ===========================================
688c2ecf20Sopenharmony_ci		1   The device will be authorized and connected
698c2ecf20Sopenharmony_ci		==  ===========================================
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ci		When key attribute contains 32 byte hex string the possible
728c2ecf20Sopenharmony_ci		values are:
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci		==  ========================================================
758c2ecf20Sopenharmony_ci		1   The 32 byte hex string is added to the device NVM and
768c2ecf20Sopenharmony_ci		    the device is authorized.
778c2ecf20Sopenharmony_ci		2   Send a challenge based on the 32 byte hex string. If the
788c2ecf20Sopenharmony_ci		    challenge response from device is valid, the device is
798c2ecf20Sopenharmony_ci		    authorized. In case of failure errno will be ENOKEY if
808c2ecf20Sopenharmony_ci		    the device did not contain a key at all, and
818c2ecf20Sopenharmony_ci		    EKEYREJECTED if the challenge response did not match.
828c2ecf20Sopenharmony_ci		==  ========================================================
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../boot
858c2ecf20Sopenharmony_ciDate:		Jun 2018
868c2ecf20Sopenharmony_ciKernelVersion:	4.17
878c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
888c2ecf20Sopenharmony_ciDescription:	This attribute contains 1 if Thunderbolt device was already
898c2ecf20Sopenharmony_ci		authorized on boot and 0 otherwise.
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../generation
928c2ecf20Sopenharmony_ciDate:		Jan 2020
938c2ecf20Sopenharmony_ciKernelVersion:	5.5
948c2ecf20Sopenharmony_ciContact:	Christian Kellner <christian@kellner.me>
958c2ecf20Sopenharmony_ciDescription:	This attribute contains the generation of the Thunderbolt
968c2ecf20Sopenharmony_ci		controller associated with the device. It will contain 4
978c2ecf20Sopenharmony_ci		for USB4.
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciWhat: /sys/bus/thunderbolt/devices/.../key
1008c2ecf20Sopenharmony_ciDate:		Sep 2017
1018c2ecf20Sopenharmony_ciKernelVersion:	4.13
1028c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1038c2ecf20Sopenharmony_ciDescription:	When a devices supports Thunderbolt secure connect it will
1048c2ecf20Sopenharmony_ci		have this attribute. Writing 32 byte hex string changes
1058c2ecf20Sopenharmony_ci		authorization to use the secure connection method instead.
1068c2ecf20Sopenharmony_ci		Writing an empty string clears the key and regular connection
1078c2ecf20Sopenharmony_ci		method can be used again.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../device
1108c2ecf20Sopenharmony_ciDate:		Sep 2017
1118c2ecf20Sopenharmony_ciKernelVersion:	4.13
1128c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1138c2ecf20Sopenharmony_ciDescription:	This attribute contains id of this device extracted from
1148c2ecf20Sopenharmony_ci		the device DROM.
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../device_name
1178c2ecf20Sopenharmony_ciDate:		Sep 2017
1188c2ecf20Sopenharmony_ciKernelVersion:	4.13
1198c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1208c2ecf20Sopenharmony_ciDescription:	This attribute contains name of this device extracted from
1218c2ecf20Sopenharmony_ci		the device DROM.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../rx_speed
1248c2ecf20Sopenharmony_ciDate:		Jan 2020
1258c2ecf20Sopenharmony_ciKernelVersion:	5.5
1268c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
1278c2ecf20Sopenharmony_ciDescription:	This attribute reports the device RX speed per lane.
1288c2ecf20Sopenharmony_ci		All RX lanes run at the same speed.
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../rx_lanes
1318c2ecf20Sopenharmony_ciDate:		Jan 2020
1328c2ecf20Sopenharmony_ciKernelVersion:	5.5
1338c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
1348c2ecf20Sopenharmony_ciDescription:	This attribute reports number of RX lanes the device is
1358c2ecf20Sopenharmony_ci		using simultaneusly through its upstream port.
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../tx_speed
1388c2ecf20Sopenharmony_ciDate:		Jan 2020
1398c2ecf20Sopenharmony_ciKernelVersion:	5.5
1408c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
1418c2ecf20Sopenharmony_ciDescription:	This attribute reports the TX speed per lane.
1428c2ecf20Sopenharmony_ci		All TX lanes run at the same speed.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../tx_lanes
1458c2ecf20Sopenharmony_ciDate:		Jan 2020
1468c2ecf20Sopenharmony_ciKernelVersion:	5.5
1478c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
1488c2ecf20Sopenharmony_ciDescription:	This attribute reports number of TX lanes the device is
1498c2ecf20Sopenharmony_ci		using simultaneusly through its upstream port.
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../vendor
1528c2ecf20Sopenharmony_ciDate:		Sep 2017
1538c2ecf20Sopenharmony_ciKernelVersion:	4.13
1548c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1558c2ecf20Sopenharmony_ciDescription:	This attribute contains vendor id of this device extracted
1568c2ecf20Sopenharmony_ci		from the device DROM.
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../vendor_name
1598c2ecf20Sopenharmony_ciDate:		Sep 2017
1608c2ecf20Sopenharmony_ciKernelVersion:	4.13
1618c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1628c2ecf20Sopenharmony_ciDescription:	This attribute contains vendor name of this device extracted
1638c2ecf20Sopenharmony_ci		from the device DROM.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../unique_id
1668c2ecf20Sopenharmony_ciDate:		Sep 2017
1678c2ecf20Sopenharmony_ciKernelVersion:	4.13
1688c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1698c2ecf20Sopenharmony_ciDescription:	This attribute contains unique_id string of this device.
1708c2ecf20Sopenharmony_ci		This is either read from hardware registers (UUID on
1718c2ecf20Sopenharmony_ci		newer hardware) or based on UID from the device DROM.
1728c2ecf20Sopenharmony_ci		Can be used to uniquely identify particular device.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../nvm_version
1758c2ecf20Sopenharmony_ciDate:		Sep 2017
1768c2ecf20Sopenharmony_ciKernelVersion:	4.13
1778c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1788c2ecf20Sopenharmony_ciDescription:	If the device has upgradeable firmware the version
1798c2ecf20Sopenharmony_ci		number is available here. Format: %x.%x, major.minor.
1808c2ecf20Sopenharmony_ci		If the device is in safe mode reading the file returns
1818c2ecf20Sopenharmony_ci		-ENODATA instead as the NVM version is not available.
1828c2ecf20Sopenharmony_ci
1838c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../nvm_authenticate
1848c2ecf20Sopenharmony_ciDate:		Sep 2017
1858c2ecf20Sopenharmony_ciKernelVersion:	4.13
1868c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
1878c2ecf20Sopenharmony_ciDescription:	When new NVM image is written to the non-active NVM
1888c2ecf20Sopenharmony_ci		area (through non_activeX NVMem device), the
1898c2ecf20Sopenharmony_ci		authentication procedure is started by writing to
1908c2ecf20Sopenharmony_ci		this file.
1918c2ecf20Sopenharmony_ci		If everything goes well, the device is
1928c2ecf20Sopenharmony_ci		restarted with the new NVM firmware. If the image
1938c2ecf20Sopenharmony_ci		verification fails an error code is returned instead.
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ci		This file will accept writing values "1" or "2"
1968c2ecf20Sopenharmony_ci
1978c2ecf20Sopenharmony_ci		- Writing "1" will flush the image to the storage
1988c2ecf20Sopenharmony_ci		  area and authenticate the image in one action.
1998c2ecf20Sopenharmony_ci		- Writing "2" will run some basic validation on the image
2008c2ecf20Sopenharmony_ci		  and flush it to the storage area.
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ci		When read holds status of the last authentication
2038c2ecf20Sopenharmony_ci		operation if an error occurred during the process. This
2048c2ecf20Sopenharmony_ci		is directly the status value from the DMA configuration
2058c2ecf20Sopenharmony_ci		based mailbox before the device is power cycled. Writing
2068c2ecf20Sopenharmony_ci		0 here clears the status.
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/key
2098c2ecf20Sopenharmony_ciDate:		Jan 2018
2108c2ecf20Sopenharmony_ciKernelVersion:	4.15
2118c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
2128c2ecf20Sopenharmony_ciDescription:	This contains name of the property directory the XDomain
2138c2ecf20Sopenharmony_ci		service exposes. This entry describes the protocol in
2148c2ecf20Sopenharmony_ci		question. Following directories are already reserved by
2158c2ecf20Sopenharmony_ci		the Apple XDomain specification:
2168c2ecf20Sopenharmony_ci
2178c2ecf20Sopenharmony_ci		========  ===============================================
2188c2ecf20Sopenharmony_ci		network   IP/ethernet over Thunderbolt
2198c2ecf20Sopenharmony_ci		targetdm  Target disk mode protocol over Thunderbolt
2208c2ecf20Sopenharmony_ci		extdisp   External display mode protocol over Thunderbolt
2218c2ecf20Sopenharmony_ci		========  ===============================================
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
2248c2ecf20Sopenharmony_ciDate:		Jan 2018
2258c2ecf20Sopenharmony_ciKernelVersion:	4.15
2268c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
2278c2ecf20Sopenharmony_ciDescription:	Stores the same MODALIAS value emitted by uevent for
2288c2ecf20Sopenharmony_ci		the XDomain service. Format: tbtsvc:kSpNvNrN
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
2318c2ecf20Sopenharmony_ciDate:		Jan 2018
2328c2ecf20Sopenharmony_ciKernelVersion:	4.15
2338c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
2348c2ecf20Sopenharmony_ciDescription:	This contains XDomain protocol identifier the XDomain
2358c2ecf20Sopenharmony_ci		service supports.
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
2388c2ecf20Sopenharmony_ciDate:		Jan 2018
2398c2ecf20Sopenharmony_ciKernelVersion:	4.15
2408c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
2418c2ecf20Sopenharmony_ciDescription:	This contains XDomain protocol version the XDomain
2428c2ecf20Sopenharmony_ci		service supports.
2438c2ecf20Sopenharmony_ci
2448c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
2458c2ecf20Sopenharmony_ciDate:		Jan 2018
2468c2ecf20Sopenharmony_ciKernelVersion:	4.15
2478c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
2488c2ecf20Sopenharmony_ciDescription:	This contains XDomain software version the XDomain
2498c2ecf20Sopenharmony_ci		service supports.
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
2528c2ecf20Sopenharmony_ciDate:		Jan 2018
2538c2ecf20Sopenharmony_ciKernelVersion:	4.15
2548c2ecf20Sopenharmony_ciContact:	thunderbolt-software@lists.01.org
2558c2ecf20Sopenharmony_ciDescription:	This contains XDomain service specific settings as
2568c2ecf20Sopenharmony_ci		bitmask. Format: %x
2578c2ecf20Sopenharmony_ci
2588c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
2598c2ecf20Sopenharmony_ciDate:		Oct 2020
2608c2ecf20Sopenharmony_ciKernelVersion:	v5.9
2618c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
2628c2ecf20Sopenharmony_ciDescription:	Retimer device identifier read from the hardware.
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
2658c2ecf20Sopenharmony_ciDate:		Oct 2020
2668c2ecf20Sopenharmony_ciKernelVersion:	v5.9
2678c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
2688c2ecf20Sopenharmony_ciDescription:	When new NVM image is written to the non-active NVM
2698c2ecf20Sopenharmony_ci		area (through non_activeX NVMem device), the
2708c2ecf20Sopenharmony_ci		authentication procedure is started by writing 1 to
2718c2ecf20Sopenharmony_ci		this file. If everything goes well, the device is
2728c2ecf20Sopenharmony_ci		restarted with the new NVM firmware. If the image
2738c2ecf20Sopenharmony_ci		verification fails an error code is returned instead.
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci		When read holds status of the last authentication
2768c2ecf20Sopenharmony_ci		operation if an error occurred during the process.
2778c2ecf20Sopenharmony_ci		Format: %x.
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
2808c2ecf20Sopenharmony_ciDate:		Oct 2020
2818c2ecf20Sopenharmony_ciKernelVersion:	v5.9
2828c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
2838c2ecf20Sopenharmony_ciDescription:	Holds retimer NVM version number. Format: %x.%x, major.minor.
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
2868c2ecf20Sopenharmony_ciDate:		Oct 2020
2878c2ecf20Sopenharmony_ciKernelVersion:	v5.9
2888c2ecf20Sopenharmony_ciContact:	Mika Westerberg <mika.westerberg@linux.intel.com>
2898c2ecf20Sopenharmony_ciDescription:	Retimer vendor identifier read from the hardware.
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ciWhat:		/sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
2928c2ecf20Sopenharmony_ciDate:		Oct 2020
2938c2ecf20Sopenharmony_ciKernelVersion:	v5.9
2948c2ecf20Sopenharmony_ciContact:	Mario Limonciello <mario.limonciello@dell.com>
2958c2ecf20Sopenharmony_ciDescription:	For supported devices, automatically authenticate the new Thunderbolt
2968c2ecf20Sopenharmony_ci		image when the device is disconnected from the host system.
2978c2ecf20Sopenharmony_ci
2988c2ecf20Sopenharmony_ci		This file will accept writing values "1" or "2"
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ci		- Writing "1" will flush the image to the storage
3018c2ecf20Sopenharmony_ci		  area and prepare the device for authentication on disconnect.
3028c2ecf20Sopenharmony_ci		- Writing "2" will run some basic validation on the image
3038c2ecf20Sopenharmony_ci		  and flush it to the storage area.
304