Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming
[sfrench/cifs-2.6.git] / Documentation / ABI / testing / sysfs-bus-thunderbolt
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.
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
24 What: /sys/bus/thunderbolt/devices/.../domainX/security
25 Date:           Sep 2017
26 KernelVersion:  4.13
27 Contact:        thunderbolt-software@lists.01.org
28 Description:    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
42 What: /sys/bus/thunderbolt/devices/.../authorized
43 Date:           Sep 2017
44 KernelVersion:  4.13
45 Contact:        thunderbolt-software@lists.01.org
46 Description:    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
67 What: /sys/bus/thunderbolt/devices/.../boot
68 Date:           Jun 2018
69 KernelVersion:  4.17
70 Contact:        thunderbolt-software@lists.01.org
71 Description:    This attribute contains 1 if Thunderbolt device was already
72                 authorized on boot and 0 otherwise.
73
74 What: /sys/bus/thunderbolt/devices/.../key
75 Date:           Sep 2017
76 KernelVersion:  4.13
77 Contact:        thunderbolt-software@lists.01.org
78 Description:    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
84 What:           /sys/bus/thunderbolt/devices/.../device
85 Date:           Sep 2017
86 KernelVersion:  4.13
87 Contact:        thunderbolt-software@lists.01.org
88 Description:    This attribute contains id of this device extracted from
89                 the device DROM.
90
91 What:           /sys/bus/thunderbolt/devices/.../device_name
92 Date:           Sep 2017
93 KernelVersion:  4.13
94 Contact:        thunderbolt-software@lists.01.org
95 Description:    This attribute contains name of this device extracted from
96                 the device DROM.
97
98 What:           /sys/bus/thunderbolt/devices/.../vendor
99 Date:           Sep 2017
100 KernelVersion:  4.13
101 Contact:        thunderbolt-software@lists.01.org
102 Description:    This attribute contains vendor id of this device extracted
103                 from the device DROM.
104
105 What:           /sys/bus/thunderbolt/devices/.../vendor_name
106 Date:           Sep 2017
107 KernelVersion:  4.13
108 Contact:        thunderbolt-software@lists.01.org
109 Description:    This attribute contains vendor name of this device extracted
110                 from the device DROM.
111
112 What:           /sys/bus/thunderbolt/devices/.../unique_id
113 Date:           Sep 2017
114 KernelVersion:  4.13
115 Contact:        thunderbolt-software@lists.01.org
116 Description:    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
121 What:           /sys/bus/thunderbolt/devices/.../nvm_version
122 Date:           Sep 2017
123 KernelVersion:  4.13
124 Contact:        thunderbolt-software@lists.01.org
125 Description:    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
130 What:           /sys/bus/thunderbolt/devices/.../nvm_authenticate
131 Date:           Sep 2017
132 KernelVersion:  4.13
133 Contact:        thunderbolt-software@lists.01.org
134 Description:    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
147 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/key
148 Date:           Jan 2018
149 KernelVersion:  4.15
150 Contact:        thunderbolt-software@lists.01.org
151 Description:    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
160 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/modalias
161 Date:           Jan 2018
162 KernelVersion:  4.15
163 Contact:        thunderbolt-software@lists.01.org
164 Description:    Stores the same MODALIAS value emitted by uevent for
165                 the XDomain service. Format: tbtsvc:kSpNvNrN
166
167 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcid
168 Date:           Jan 2018
169 KernelVersion:  4.15
170 Contact:        thunderbolt-software@lists.01.org
171 Description:    This contains XDomain protocol identifier the XDomain
172                 service supports.
173
174 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcvers
175 Date:           Jan 2018
176 KernelVersion:  4.15
177 Contact:        thunderbolt-software@lists.01.org
178 Description:    This contains XDomain protocol version the XDomain
179                 service supports.
180
181 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcrevs
182 Date:           Jan 2018
183 KernelVersion:  4.15
184 Contact:        thunderbolt-software@lists.01.org
185 Description:    This contains XDomain software version the XDomain
186                 service supports.
187
188 What:           /sys/bus/thunderbolt/devices/<xdomain>.<service>/prtcstns
189 Date:           Jan 2018
190 KernelVersion:  4.15
191 Contact:        thunderbolt-software@lists.01.org
192 Description:    This contains XDomain service specific settings as
193                 bitmask. Format: %x