Back to home page

OSCL-LXR

 
 

    


0001 What:           /sys/bus/thunderbolt/devices/.../domainX/boot_acl
0002 Date:           Jun 2018
0003 KernelVersion:  4.17
0004 Contact:        thunderbolt-software@lists.01.org
0005 Description:    Holds a comma separated list of device unique_ids that
0006                 are allowed to be connected automatically during system
0007                 startup (e.g boot devices). The list always contains
0008                 maximum supported number of unique_ids where unused
0009                 entries are empty. This allows the userspace software
0010                 to determine how many entries the controller supports.
0011                 If there are multiple controllers, each controller has
0012                 its own ACL list and size may be different between the
0013                 controllers.
0014 
0015                 System BIOS may have an option "Preboot ACL" or similar
0016                 that needs to be selected before this list is taken into
0017                 consideration.
0018 
0019                 Software always updates a full list in each write.
0020 
0021                 If a device is authorized automatically during boot its
0022                 boot attribute is set to 1.
0023 
0024 What:           /sys/bus/thunderbolt/devices/.../domainX/deauthorization
0025 Date:           May 2021
0026 KernelVersion:  5.12
0027 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0028 Description:    This attribute tells whether the system supports
0029                 de-authorization of devices. Value of 1 means user can
0030                 de-authorize PCIe tunnel by writing 0 to authorized
0031                 attribute under each device.
0032 
0033 What:           /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
0034 Date:           Mar 2019
0035 KernelVersion:  4.21
0036 Contact:        thunderbolt-software@lists.01.org
0037 Description:    This attribute tells whether the system uses IOMMU
0038                 for DMA protection. Value of 1 means IOMMU is used 0 means
0039                 it is not (DMA protection is solely based on Thunderbolt
0040                 security levels).
0041 
0042 What:           /sys/bus/thunderbolt/devices/.../domainX/security
0043 Date:           Sep 2017
0044 KernelVersion:  4.13
0045 Contact:        thunderbolt-software@lists.01.org
0046 Description:    This attribute holds current Thunderbolt security level
0047                 set by the system BIOS. Possible values are:
0048 
0049                 =======  ==================================================
0050                 none     All devices are automatically authorized
0051                 user     Devices are only authorized based on writing
0052                          appropriate value to the authorized attribute
0053                 secure   Require devices that support secure connect at
0054                          minimum. User needs to authorize each device.
0055                 dponly   Automatically tunnel Display port (and USB). No
0056                          PCIe tunnels are created.
0057                 usbonly  Automatically tunnel USB controller of the
0058                          connected Thunderbolt dock (and Display Port). All
0059                          PCIe links downstream of the dock are removed.
0060                 nopcie   USB4 system where PCIe tunneling is disabled from
0061                          the BIOS.
0062                 =======  ==================================================
0063 
0064 What:           /sys/bus/thunderbolt/devices/.../authorized
0065 Date:           Sep 2017
0066 KernelVersion:  4.13
0067 Contact:        thunderbolt-software@lists.01.org
0068 Description:    This attribute is used to authorize Thunderbolt devices
0069                 after they have been connected. If the device is not
0070                 authorized, no PCIe devices are available to the system.
0071 
0072                 Contents of this attribute will be 0 when the device is not
0073                 yet authorized.
0074 
0075                 Possible values are supported:
0076 
0077                 ==  ===================================================
0078                 0   The device will be de-authorized (only supported if
0079                     deauthorization attribute under domain contains 1)
0080                 1   The device will be authorized and connected
0081                 ==  ===================================================
0082 
0083                 When key attribute contains 32 byte hex string the possible
0084                 values are:
0085 
0086                 ==  ========================================================
0087                 0   The device will be de-authorized (only supported if
0088                     deauthorization attribute under domain contains 1)
0089                 1   The 32 byte hex string is added to the device NVM and
0090                     the device is authorized.
0091                 2   Send a challenge based on the 32 byte hex string. If the
0092                     challenge response from device is valid, the device is
0093                     authorized. In case of failure errno will be ENOKEY if
0094                     the device did not contain a key at all, and
0095                     EKEYREJECTED if the challenge response did not match.
0096                 ==  ========================================================
0097 
0098 What:           /sys/bus/thunderbolt/devices/.../boot
0099 Date:           Jun 2018
0100 KernelVersion:  4.17
0101 Contact:        thunderbolt-software@lists.01.org
0102 Description:    This attribute contains 1 if Thunderbolt device was already
0103                 authorized on boot and 0 otherwise.
0104 
0105 What:           /sys/bus/thunderbolt/devices/.../generation
0106 Date:           Jan 2020
0107 KernelVersion:  5.5
0108 Contact:        Christian Kellner <christian@kellner.me>
0109 Description:    This attribute contains the generation of the Thunderbolt
0110                 controller associated with the device. It will contain 4
0111                 for USB4.
0112 
0113 What:           /sys/bus/thunderbolt/devices/.../key
0114 Date:           Sep 2017
0115 KernelVersion:  4.13
0116 Contact:        thunderbolt-software@lists.01.org
0117 Description:    When a devices supports Thunderbolt secure connect it will
0118                 have this attribute. Writing 32 byte hex string changes
0119                 authorization to use the secure connection method instead.
0120                 Writing an empty string clears the key and regular connection
0121                 method can be used again.
0122 
0123 What:           /sys/bus/thunderbolt/devices/.../device
0124 Date:           Sep 2017
0125 KernelVersion:  4.13
0126 Contact:        thunderbolt-software@lists.01.org
0127 Description:    This attribute contains id of this device extracted from
0128                 the device DROM.
0129 
0130 What:           /sys/bus/thunderbolt/devices/.../device_name
0131 Date:           Sep 2017
0132 KernelVersion:  4.13
0133 Contact:        thunderbolt-software@lists.01.org
0134 Description:    This attribute contains name of this device extracted from
0135                 the device DROM.
0136 
0137 What:           /sys/bus/thunderbolt/devices/.../maxhopid
0138 Date:           Jul 2021
0139 KernelVersion:  5.13
0140 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0141 Description:    Only set for XDomains. The maximum HopID the other host
0142                 supports as its input HopID.
0143 
0144 What:           /sys/bus/thunderbolt/devices/.../rx_speed
0145 Date:           Jan 2020
0146 KernelVersion:  5.5
0147 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0148 Description:    This attribute reports the device RX speed per lane.
0149                 All RX lanes run at the same speed.
0150 
0151 What:           /sys/bus/thunderbolt/devices/.../rx_lanes
0152 Date:           Jan 2020
0153 KernelVersion:  5.5
0154 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0155 Description:    This attribute reports number of RX lanes the device is
0156                 using simultaneusly through its upstream port.
0157 
0158 What:           /sys/bus/thunderbolt/devices/.../tx_speed
0159 Date:           Jan 2020
0160 KernelVersion:  5.5
0161 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0162 Description:    This attribute reports the TX speed per lane.
0163                 All TX lanes run at the same speed.
0164 
0165 What:           /sys/bus/thunderbolt/devices/.../tx_lanes
0166 Date:           Jan 2020
0167 KernelVersion:  5.5
0168 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0169 Description:    This attribute reports number of TX lanes the device is
0170                 using simultaneusly through its upstream port.
0171 
0172 What:           /sys/bus/thunderbolt/devices/.../vendor
0173 Date:           Sep 2017
0174 KernelVersion:  4.13
0175 Contact:        thunderbolt-software@lists.01.org
0176 Description:    This attribute contains vendor id of this device extracted
0177                 from the device DROM.
0178 
0179 What:           /sys/bus/thunderbolt/devices/.../vendor_name
0180 Date:           Sep 2017
0181 KernelVersion:  4.13
0182 Contact:        thunderbolt-software@lists.01.org
0183 Description:    This attribute contains vendor name of this device extracted
0184                 from the device DROM.
0185 
0186 What:           /sys/bus/thunderbolt/devices/.../unique_id
0187 Date:           Sep 2017
0188 KernelVersion:  4.13
0189 Contact:        thunderbolt-software@lists.01.org
0190 Description:    This attribute contains unique_id string of this device.
0191                 This is either read from hardware registers (UUID on
0192                 newer hardware) or based on UID from the device DROM.
0193                 Can be used to uniquely identify particular device.
0194 
0195 What:           /sys/bus/thunderbolt/devices/.../nvm_version
0196 Date:           Sep 2017
0197 KernelVersion:  4.13
0198 Contact:        thunderbolt-software@lists.01.org
0199 Description:    If the device has upgradeable firmware the version
0200                 number is available here. Format: %x.%x, major.minor.
0201                 If the device is in safe mode reading the file returns
0202                 -ENODATA instead as the NVM version is not available.
0203 
0204 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate
0205 Date:           Sep 2017
0206 KernelVersion:  4.13
0207 Contact:        thunderbolt-software@lists.01.org
0208 Description:    When new NVM image is written to the non-active NVM
0209                 area (through non_activeX NVMem device), the
0210                 authentication procedure is started by writing to
0211                 this file.
0212                 If everything goes well, the device is
0213                 restarted with the new NVM firmware. If the image
0214                 verification fails an error code is returned instead.
0215 
0216                 This file will accept writing values "1", "2" or "3".
0217 
0218                 - Writing "1" will flush the image to the storage
0219                   area and authenticate the image in one action.
0220                 - Writing "2" will run some basic validation on the image
0221                   and flush it to the storage area.
0222                 - Writing "3" will authenticate the image that is
0223                   currently written in the storage area. This is only
0224                   supported with USB4 devices and retimers.
0225 
0226                 When read holds status of the last authentication
0227                 operation if an error occurred during the process. This
0228                 is directly the status value from the DMA configuration
0229                 based mailbox before the device is power cycled. Writing
0230                 0 here clears the status.
0231 
0232 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate_on_disconnect
0233 Date:           Oct 2020
0234 KernelVersion:  v5.9
0235 Contact:        Mario Limonciello <mario.limonciello@outlook.com>
0236 Description:    For supported devices, automatically authenticate the new Thunderbolt
0237                 image when the device is disconnected from the host system.
0238 
0239                 This file will accept writing values "1" or "2"
0240 
0241                 - Writing "1" will flush the image to the storage
0242                   area and prepare the device for authentication on disconnect.
0243                 - Writing "2" will run some basic validation on the image
0244                   and flush it to the storage area.
0245 
0246 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
0247 Date:           Jan 2018
0248 KernelVersion:  4.15
0249 Contact:        thunderbolt-software@lists.01.org
0250 Description:    This contains name of the property directory the XDomain
0251                 service exposes. This entry describes the protocol in
0252                 question. Following directories are already reserved by
0253                 the Apple XDomain specification:
0254 
0255                 ========  ===============================================
0256                 network   IP/ethernet over Thunderbolt
0257                 targetdm  Target disk mode protocol over Thunderbolt
0258                 extdisp   External display mode protocol over Thunderbolt
0259                 ========  ===============================================
0260 
0261 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
0262 Date:           Jan 2018
0263 KernelVersion:  4.15
0264 Contact:        thunderbolt-software@lists.01.org
0265 Description:    Stores the same MODALIAS value emitted by uevent for
0266                 the XDomain service. Format: tbtsvc:kSpNvNrN
0267 
0268 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
0269 Date:           Jan 2018
0270 KernelVersion:  4.15
0271 Contact:        thunderbolt-software@lists.01.org
0272 Description:    This contains XDomain protocol identifier the XDomain
0273                 service supports.
0274 
0275 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
0276 Date:           Jan 2018
0277 KernelVersion:  4.15
0278 Contact:        thunderbolt-software@lists.01.org
0279 Description:    This contains XDomain protocol version the XDomain
0280                 service supports.
0281 
0282 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
0283 Date:           Jan 2018
0284 KernelVersion:  4.15
0285 Contact:        thunderbolt-software@lists.01.org
0286 Description:    This contains XDomain software version the XDomain
0287                 service supports.
0288 
0289 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
0290 Date:           Jan 2018
0291 KernelVersion:  4.15
0292 Contact:        thunderbolt-software@lists.01.org
0293 Description:    This contains XDomain service specific settings as
0294                 bitmask. Format: %x
0295 
0296 What:           /sys/bus/thunderbolt/devices/usb4_portX/connector
0297 Date:           April 2022
0298 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
0299 Description:
0300                 Symlink to the USB Type-C connector. This link is only
0301                 created when USB Type-C Connector Class is enabled,
0302                 and only if the system firmware is capable of
0303                 describing the connection between a port and its
0304                 connector.
0305 
0306 What:           /sys/bus/thunderbolt/devices/usb4_portX/link
0307 Date:           Sep 2021
0308 KernelVersion:  v5.14
0309 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0310 Description:    Returns the current link mode. Possible values are
0311                 "usb4", "tbt" and "none".
0312 
0313 What:           /sys/bus/thunderbolt/devices/usb4_portX/offline
0314 Date:           Sep 2021
0315 KernelVersion:  v5.14
0316 Contact:        Rajmohan Mani <rajmohan.mani@intel.com>
0317 Description:    Writing 1 to this attribute puts the USB4 port into
0318                 offline mode. Only allowed when there is nothing
0319                 connected to the port (link attribute returns "none").
0320                 Once the port is in offline mode it does not receive any
0321                 hotplug events. This is used to update NVM firmware of
0322                 on-board retimers. Writing 0 puts the port back to
0323                 online mode.
0324 
0325                 This attribute is only visible if the platform supports
0326                 powering on retimers when there is no cable connected.
0327 
0328 What:           /sys/bus/thunderbolt/devices/usb4_portX/rescan
0329 Date:           Sep 2021
0330 KernelVersion:  v5.14
0331 Contact:        Rajmohan Mani <rajmohan.mani@intel.com>
0332 Description:    When the USB4 port is in offline mode writing 1 to this
0333                 attribute forces rescan of the sideband for on-board
0334                 retimers. Each retimer appear under the USB4 port as if
0335                 the USB4 link was up. These retimers act in the same way
0336                 as if the cable was connected so upgrading their NVM
0337                 firmware can be done the usual way.
0338 
0339 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/device
0340 Date:           Oct 2020
0341 KernelVersion:  v5.9
0342 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0343 Description:    Retimer device identifier read from the hardware.
0344 
0345 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_authenticate
0346 Date:           Oct 2020
0347 KernelVersion:  v5.9
0348 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0349 Description:    When new NVM image is written to the non-active NVM
0350                 area (through non_activeX NVMem device), the
0351                 authentication procedure is started by writing 1 to
0352                 this file. If everything goes well, the device is
0353                 restarted with the new NVM firmware. If the image
0354                 verification fails an error code is returned instead.
0355 
0356                 When read holds status of the last authentication
0357                 operation if an error occurred during the process.
0358                 Format: %x.
0359 
0360 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/nvm_version
0361 Date:           Oct 2020
0362 KernelVersion:  v5.9
0363 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0364 Description:    Holds retimer NVM version number. Format: %x.%x, major.minor.
0365 
0366 What:           /sys/bus/thunderbolt/devices/<device>:<port>.<index>/vendor
0367 Date:           Oct 2020
0368 KernelVersion:  v5.9
0369 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
0370 Description:    Retimer vendor identifier read from the hardware.