371 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			371 lines
		
	
	
		
			14 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| What:		/sys/bus/thunderbolt/devices/.../domainX/boot_acl
 | |
| Date:		Jun 2018
 | |
| KernelVersion:	4.17
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	Holds a comma separated list of device unique_ids that
 | |
| 		are allowed to be connected automatically during system
 | |
| 		startup (e.g boot devices). The list always contains
 | |
| 		maximum supported number of unique_ids where unused
 | |
| 		entries are empty. This allows the userspace software
 | |
| 		to determine how many entries the controller supports.
 | |
| 		If there are multiple controllers, each controller has
 | |
| 		its own ACL list and size may be different between the
 | |
| 		controllers.
 | |
| 
 | |
| 		System BIOS may have an option "Preboot ACL" or similar
 | |
| 		that needs to be selected before this list is taken into
 | |
| 		consideration.
 | |
| 
 | |
| 		Software always updates a full list in each write.
 | |
| 
 | |
| 		If a device is authorized automatically during boot its
 | |
| 		boot attribute is set to 1.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../domainX/deauthorization
 | |
| Date:		May 2021
 | |
| KernelVersion:	5.12
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	This attribute tells whether the system supports
 | |
| 		de-authorization of devices. Value of 1 means user can
 | |
| 		de-authorize PCIe tunnel by writing 0 to authorized
 | |
| 		attribute under each device.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
 | |
| Date:		Mar 2019
 | |
| KernelVersion:	4.21
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute tells whether the system uses IOMMU
 | |
| 		for DMA protection. Value of 1 means IOMMU is used 0 means
 | |
| 		it is not (DMA protection is solely based on Thunderbolt
 | |
| 		security levels).
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../domainX/security
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute holds current Thunderbolt security level
 | |
| 		set by the system BIOS. Possible values are:
 | |
| 
 | |
| 		=======  ==================================================
 | |
| 		none     All devices are automatically authorized
 | |
| 		user     Devices are only authorized based on writing
 | |
| 		         appropriate value to the authorized attribute
 | |
| 		secure   Require devices that support secure connect at
 | |
| 			 minimum. User needs to authorize each device.
 | |
| 		dponly   Automatically tunnel Display port (and USB). No
 | |
| 			 PCIe tunnels are created.
 | |
| 		usbonly  Automatically tunnel USB controller of the
 | |
| 			 connected Thunderbolt dock (and Display Port). All
 | |
| 			 PCIe links downstream of the dock are removed.
 | |
| 		nopcie   USB4 system where PCIe tunneling is disabled from
 | |
| 			 the BIOS.
 | |
| 		=======  ==================================================
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../authorized
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute is used to authorize Thunderbolt devices
 | |
| 		after they have been connected. If the device is not
 | |
| 		authorized, no PCIe devices are available to the system.
 | |
| 
 | |
| 		Contents of this attribute will be 0 when the device is not
 | |
| 		yet authorized.
 | |
| 
 | |
| 		Possible values are supported:
 | |
| 
 | |
| 		==  ===================================================
 | |
| 		0   The device will be de-authorized (only supported if
 | |
| 		    deauthorization attribute under domain contains 1)
 | |
| 		1   The device will be authorized and connected
 | |
| 		==  ===================================================
 | |
| 
 | |
| 		When key attribute contains 32 byte hex string the possible
 | |
| 		values are:
 | |
| 
 | |
| 		==  ========================================================
 | |
| 		0   The device will be de-authorized (only supported if
 | |
| 		    deauthorization attribute under domain contains 1)
 | |
| 		1   The 32 byte hex string is added to the device NVM and
 | |
| 		    the device is authorized.
 | |
| 		2   Send a challenge based on the 32 byte hex string. If the
 | |
| 		    challenge response from device is valid, the device is
 | |
| 		    authorized. In case of failure errno will be ENOKEY if
 | |
| 		    the device did not contain a key at all, and
 | |
| 		    EKEYREJECTED if the challenge response did not match.
 | |
| 		==  ========================================================
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../boot
 | |
| Date:		Jun 2018
 | |
| KernelVersion:	4.17
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute contains 1 if Thunderbolt device was already
 | |
| 		authorized on boot and 0 otherwise.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../generation
 | |
| Date:		Jan 2020
 | |
| KernelVersion:	5.5
 | |
| Contact:	Christian Kellner <christian@kellner.me>
 | |
| Description:	This attribute contains the generation of the Thunderbolt
 | |
| 		controller associated with the device. It will contain 4
 | |
| 		for USB4.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../key
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	When a devices supports Thunderbolt secure connect it will
 | |
| 		have this attribute. Writing 32 byte hex string changes
 | |
| 		authorization to use the secure connection method instead.
 | |
| 		Writing an empty string clears the key and regular connection
 | |
| 		method can be used again.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../device
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute contains id of this device extracted from
 | |
| 		the device DROM.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../device_name
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute contains name of this device extracted from
 | |
| 		the device DROM.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../maxhopid
 | |
| Date:		Jul 2021
 | |
| KernelVersion:	5.13
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	Only set for XDomains. The maximum HopID the other host
 | |
| 		supports as its input HopID.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../rx_speed
 | |
| Date:		Jan 2020
 | |
| KernelVersion:	5.5
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	This attribute reports the device RX speed per lane.
 | |
| 		All RX lanes run at the same speed.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../rx_lanes
 | |
| Date:		Jan 2020
 | |
| KernelVersion:	5.5
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	This attribute reports number of RX lanes the device is
 | |
| 		using simultaneously through its upstream port.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../tx_speed
 | |
| Date:		Jan 2020
 | |
| KernelVersion:	5.5
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	This attribute reports the TX speed per lane.
 | |
| 		All TX lanes run at the same speed.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../tx_lanes
 | |
| Date:		Jan 2020
 | |
| KernelVersion:	5.5
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	This attribute reports number of TX lanes the device is
 | |
| 		using simultaneously through its upstream port.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../vendor
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute contains vendor id of this device extracted
 | |
| 		from the device DROM.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../vendor_name
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute contains vendor name of this device extracted
 | |
| 		from the device DROM.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../unique_id
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This attribute contains unique_id string of this device.
 | |
| 		This is either read from hardware registers (UUID on
 | |
| 		newer hardware) or based on UID from the device DROM.
 | |
| 		Can be used to uniquely identify particular device.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../nvm_version
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	If the device has upgradeable firmware the version
 | |
| 		number is available here. Format: %x.%x, major.minor.
 | |
| 		If the device is in safe mode reading the file returns
 | |
| 		-ENODATA instead as the NVM version is not available.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../nvm_authenticate
 | |
| Date:		Sep 2017
 | |
| KernelVersion:	4.13
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	When new NVM image is written to the non-active NVM
 | |
| 		area (through non_activeX NVMem device), the
 | |
| 		authentication procedure is started by writing to
 | |
| 		this file.
 | |
| 		If everything goes well, the device is
 | |
| 		restarted with the new NVM firmware. If the image
 | |
| 		verification fails an error code is returned instead.
 | |
| 
 | |
| 		This file will accept writing values "1", "2" or "3".
 | |
| 
 | |
| 		- Writing "1" will flush the image to the storage
 | |
| 		  area and authenticate the image in one action.
 | |
| 		- Writing "2" will run some basic validation on the image
 | |
| 		  and flush it to the storage area.
 | |
| 		- Writing "3" will authenticate the image that is
 | |
| 		  currently written in the storage area. This is only
 | |
| 		  supported with USB4 devices and retimers.
 | |
| 
 | |
| 		When read holds status of the last authentication
 | |
| 		operation if an error occurred during the process. This
 | |
| 		is directly the status value from the DMA configuration
 | |
| 		based mailbox before the device is power cycled. Writing
 | |
| 		0 here clears the status.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
 | |
| Date:		Oct 2020
 | |
| KernelVersion:	v5.9
 | |
| Contact:	Mario Limonciello <mario.limonciello@outlook.com>
 | |
| Description:	For supported devices, automatically authenticate the new Thunderbolt
 | |
| 		image when the device is disconnected from the host system.
 | |
| 
 | |
| 		This file will accept writing values "1" or "2"
 | |
| 
 | |
| 		- Writing "1" will flush the image to the storage
 | |
| 		  area and prepare the device for authentication on disconnect.
 | |
| 		- Writing "2" will run some basic validation on the image
 | |
| 		  and flush it to the storage area.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/key
 | |
| Date:		Jan 2018
 | |
| KernelVersion:	4.15
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This contains name of the property directory the XDomain
 | |
| 		service exposes. This entry describes the protocol in
 | |
| 		question. Following directories are already reserved by
 | |
| 		the Apple XDomain specification:
 | |
| 
 | |
| 		========  ===============================================
 | |
| 		network   IP/ethernet over Thunderbolt
 | |
| 		targetdm  Target disk mode protocol over Thunderbolt
 | |
| 		extdisp   External display mode protocol over Thunderbolt
 | |
| 		========  ===============================================
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
 | |
| Date:		Jan 2018
 | |
| KernelVersion:	4.15
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	Stores the same MODALIAS value emitted by uevent for
 | |
| 		the XDomain service. Format: tbtsvc:kSpNvNrN
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
 | |
| Date:		Jan 2018
 | |
| KernelVersion:	4.15
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This contains XDomain protocol identifier the XDomain
 | |
| 		service supports.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
 | |
| Date:		Jan 2018
 | |
| KernelVersion:	4.15
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This contains XDomain protocol version the XDomain
 | |
| 		service supports.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
 | |
| Date:		Jan 2018
 | |
| KernelVersion:	4.15
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This contains XDomain software version the XDomain
 | |
| 		service supports.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
 | |
| Date:		Jan 2018
 | |
| KernelVersion:	4.15
 | |
| Contact:	thunderbolt-software@lists.01.org
 | |
| Description:	This contains XDomain service specific settings as
 | |
| 		bitmask. Format: %x
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/usb4_portX/connector
 | |
| Date:		April 2022
 | |
| Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 | |
| Description:
 | |
| 		Symlink to the USB Type-C connector. This link is only
 | |
| 		created when USB Type-C Connector Class is enabled,
 | |
| 		and only if the system firmware is capable of
 | |
| 		describing the connection between a port and its
 | |
| 		connector.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/usb4_portX/link
 | |
| Date:		Sep 2021
 | |
| KernelVersion:	v5.14
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	Returns the current link mode. Possible values are
 | |
| 		"usb4", "tbt" and "none".
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/usb4_portX/offline
 | |
| Date:		Sep 2021
 | |
| KernelVersion:	v5.14
 | |
| Contact:	Rajmohan Mani <rajmohan.mani@intel.com>
 | |
| Description:	Writing 1 to this attribute puts the USB4 port into
 | |
| 		offline mode. Only allowed when there is nothing
 | |
| 		connected to the port (link attribute returns "none").
 | |
| 		Once the port is in offline mode it does not receive any
 | |
| 		hotplug events. This is used to update NVM firmware of
 | |
| 		on-board retimers. Writing 0 puts the port back to
 | |
| 		online mode.
 | |
| 
 | |
| 		This attribute is only visible if the platform supports
 | |
| 		powering on retimers when there is no cable connected.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/usb4_portX/rescan
 | |
| Date:		Sep 2021
 | |
| KernelVersion:	v5.14
 | |
| Contact:	Rajmohan Mani <rajmohan.mani@intel.com>
 | |
| Description:	When the USB4 port is in offline mode writing 1 to this
 | |
| 		attribute forces rescan of the sideband for on-board
 | |
| 		retimers. Each retimer appear under the USB4 port as if
 | |
| 		the USB4 link was up. These retimers act in the same way
 | |
| 		as if the cable was connected so upgrading their NVM
 | |
| 		firmware can be done the usual way.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
 | |
| Date:		Oct 2020
 | |
| KernelVersion:	v5.9
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	Retimer device identifier read from the hardware.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
 | |
| Date:		Oct 2020
 | |
| KernelVersion:	v5.9
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	When new NVM image is written to the non-active NVM
 | |
| 		area (through non_activeX NVMem device), the
 | |
| 		authentication procedure is started by writing 1 to
 | |
| 		this file. If everything goes well, the device is
 | |
| 		restarted with the new NVM firmware. If the image
 | |
| 		verification fails an error code is returned instead.
 | |
| 
 | |
| 		When read holds status of the last authentication
 | |
| 		operation if an error occurred during the process.
 | |
| 		Format: %x.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
 | |
| Date:		Oct 2020
 | |
| KernelVersion:	v5.9
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	Holds retimer NVM version number. Format: %x.%x, major.minor.
 | |
| 
 | |
| What:		/sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
 | |
| Date:		Oct 2020
 | |
| KernelVersion:	v5.9
 | |
| Contact:	Mika Westerberg <mika.westerberg@linux.intel.com>
 | |
| Description:	Retimer vendor identifier read from the hardware.
 |