treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / ABI / testing / sysfs-bus-thunderbolt
blob82e80de78dd00d8f7806637b0c44c2395597259d
1 What: /sys/bus/thunderbolt/devices/.../domainX/boot_acl
2 Date:           Jun 2018
3 KernelVersion:  4.17
4 Contact:        thunderbolt-software@lists.01.org
5 Description:    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.
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.
19                 Software always updates a full list in each write.
21                 If a device is authorized automatically during boot its
22                 boot attribute is set to 1.
24 What: /sys/bus/thunderbolt/devices/.../domainX/iommu_dma_protection
25 Date:           Mar 2019
26 KernelVersion:  4.21
27 Contact:        thunderbolt-software@lists.01.org
28 Description:    This attribute tells whether the system uses IOMMU
29                 for DMA protection. Value of 1 means IOMMU is used 0 means
30                 it is not (DMA protection is solely based on Thunderbolt
31                 security levels).
33 What: /sys/bus/thunderbolt/devices/.../domainX/security
34 Date:           Sep 2017
35 KernelVersion:  4.13
36 Contact:        thunderbolt-software@lists.01.org
37 Description:    This attribute holds current Thunderbolt security level
38                 set by the system BIOS. Possible values are:
40                 none: All devices are automatically authorized
41                 user: Devices are only authorized based on writing
42                       appropriate value to the authorized attribute
43                 secure: Require devices that support secure connect at
44                         minimum. User needs to authorize each device.
45                 dponly: Automatically tunnel Display port (and USB). No
46                         PCIe tunnels are created.
47                 usbonly: Automatically tunnel USB controller of the
48                          connected Thunderbolt dock (and Display Port). All
49                          PCIe links downstream of the dock are removed.
51 What: /sys/bus/thunderbolt/devices/.../authorized
52 Date:           Sep 2017
53 KernelVersion:  4.13
54 Contact:        thunderbolt-software@lists.01.org
55 Description:    This attribute is used to authorize Thunderbolt devices
56                 after they have been connected. If the device is not
57                 authorized, no devices such as PCIe and Display port are
58                 available to the system.
60                 Contents of this attribute will be 0 when the device is not
61                 yet authorized.
63                 Possible values are supported:
64                 1: The device will be authorized and connected
66                 When key attribute contains 32 byte hex string the possible
67                 values are:
68                 1: The 32 byte hex string is added to the device NVM and
69                    the device is authorized.
70                 2: Send a challenge based on the 32 byte hex string. If the
71                    challenge response from device is valid, the device is
72                    authorized. In case of failure errno will be ENOKEY if
73                    the device did not contain a key at all, and
74                    EKEYREJECTED if the challenge response did not match.
76 What: /sys/bus/thunderbolt/devices/.../boot
77 Date:           Jun 2018
78 KernelVersion:  4.17
79 Contact:        thunderbolt-software@lists.01.org
80 Description:    This attribute contains 1 if Thunderbolt device was already
81                 authorized on boot and 0 otherwise.
83 What: /sys/bus/thunderbolt/devices/.../generation
84 Date:           Jan 2020
85 KernelVersion:  5.5
86 Contact:        Christian Kellner <christian@kellner.me>
87 Description:    This attribute contains the generation of the Thunderbolt
88                 controller associated with the device. It will contain 4
89                 for USB4.
91 What: /sys/bus/thunderbolt/devices/.../key
92 Date:           Sep 2017
93 KernelVersion:  4.13
94 Contact:        thunderbolt-software@lists.01.org
95 Description:    When a devices supports Thunderbolt secure connect it will
96                 have this attribute. Writing 32 byte hex string changes
97                 authorization to use the secure connection method instead.
98                 Writing an empty string clears the key and regular connection
99                 method can be used again.
101 What:           /sys/bus/thunderbolt/devices/.../device
102 Date:           Sep 2017
103 KernelVersion:  4.13
104 Contact:        thunderbolt-software@lists.01.org
105 Description:    This attribute contains id of this device extracted from
106                 the device DROM.
108 What:           /sys/bus/thunderbolt/devices/.../device_name
109 Date:           Sep 2017
110 KernelVersion:  4.13
111 Contact:        thunderbolt-software@lists.01.org
112 Description:    This attribute contains name of this device extracted from
113                 the device DROM.
115 What:           /sys/bus/thunderbolt/devices/.../rx_speed
116 Date:           Jan 2020
117 KernelVersion:  5.5
118 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
119 Description:    This attribute reports the device RX speed per lane.
120                 All RX lanes run at the same speed.
122 What:           /sys/bus/thunderbolt/devices/.../rx_lanes
123 Date:           Jan 2020
124 KernelVersion:  5.5
125 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
126 Description:    This attribute reports number of RX lanes the device is
127                 using simultaneusly through its upstream port.
129 What:           /sys/bus/thunderbolt/devices/.../tx_speed
130 Date:           Jan 2020
131 KernelVersion:  5.5
132 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
133 Description:    This attribute reports the TX speed per lane.
134                 All TX lanes run at the same speed.
136 What:           /sys/bus/thunderbolt/devices/.../tx_lanes
137 Date:           Jan 2020
138 KernelVersion:  5.5
139 Contact:        Mika Westerberg <mika.westerberg@linux.intel.com>
140 Description:    This attribute reports number of TX lanes the device is
141                 using simultaneusly through its upstream port.
143 What:           /sys/bus/thunderbolt/devices/.../vendor
144 Date:           Sep 2017
145 KernelVersion:  4.13
146 Contact:        thunderbolt-software@lists.01.org
147 Description:    This attribute contains vendor id of this device extracted
148                 from the device DROM.
150 What:           /sys/bus/thunderbolt/devices/.../vendor_name
151 Date:           Sep 2017
152 KernelVersion:  4.13
153 Contact:        thunderbolt-software@lists.01.org
154 Description:    This attribute contains vendor name of this device extracted
155                 from the device DROM.
157 What:           /sys/bus/thunderbolt/devices/.../unique_id
158 Date:           Sep 2017
159 KernelVersion:  4.13
160 Contact:        thunderbolt-software@lists.01.org
161 Description:    This attribute contains unique_id string of this device.
162                 This is either read from hardware registers (UUID on
163                 newer hardware) or based on UID from the device DROM.
164                 Can be used to uniquely identify particular device.
166 What:           /sys/bus/thunderbolt/devices/.../nvm_version
167 Date:           Sep 2017
168 KernelVersion:  4.13
169 Contact:        thunderbolt-software@lists.01.org
170 Description:    If the device has upgradeable firmware the version
171                 number is available here. Format: %x.%x, major.minor.
172                 If the device is in safe mode reading the file returns
173                 -ENODATA instead as the NVM version is not available.
175 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate
176 Date:           Sep 2017
177 KernelVersion:  4.13
178 Contact:        thunderbolt-software@lists.01.org
179 Description:    When new NVM image is written to the non-active NVM
180                 area (through non_activeX NVMem device), the
181                 authentication procedure is started by writing 1 to
182                 this file. If everything goes well, the device is
183                 restarted with the new NVM firmware. If the image
184                 verification fails an error code is returned instead.
186                 When read holds status of the last authentication
187                 operation if an error occurred during the process. This
188                 is directly the status value from the DMA configuration
189                 based mailbox before the device is power cycled. Writing
190                 0 here clears the status.
192 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
193 Date:           Jan 2018
194 KernelVersion:  4.15
195 Contact:        thunderbolt-software@lists.01.org
196 Description:    This contains name of the property directory the XDomain
197                 service exposes. This entry describes the protocol in
198                 question. Following directories are already reserved by
199                 the Apple XDomain specification:
201                 network:  IP/ethernet over Thunderbolt
202                 targetdm: Target disk mode protocol over Thunderbolt
203                 extdisp:  External display mode protocol over Thunderbolt
205 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
206 Date:           Jan 2018
207 KernelVersion:  4.15
208 Contact:        thunderbolt-software@lists.01.org
209 Description:    Stores the same MODALIAS value emitted by uevent for
210                 the XDomain service. Format: tbtsvc:kSpNvNrN
212 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
213 Date:           Jan 2018
214 KernelVersion:  4.15
215 Contact:        thunderbolt-software@lists.01.org
216 Description:    This contains XDomain protocol identifier the XDomain
217                 service supports.
219 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
220 Date:           Jan 2018
221 KernelVersion:  4.15
222 Contact:        thunderbolt-software@lists.01.org
223 Description:    This contains XDomain protocol version the XDomain
224                 service supports.
226 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
227 Date:           Jan 2018
228 KernelVersion:  4.15
229 Contact:        thunderbolt-software@lists.01.org
230 Description:    This contains XDomain software version the XDomain
231                 service supports.
233 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
234 Date:           Jan 2018
235 KernelVersion:  4.15
236 Contact:        thunderbolt-software@lists.01.org
237 Description:    This contains XDomain service specific settings as
238                 bitmask. Format: %x