~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/ABI/testing/sysfs-class-typec

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 USB Type-C port devices (eg. /sys/class/typec/port0/)
  2 
  3 What:           /sys/class/typec/<port>/data_role
  4 Date:           April 2017
  5 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
  6 Description:
  7                 The supported USB data roles. This attribute can be used for
  8                 requesting data role swapping on the port. Swapping is supported
  9                 as synchronous operation, so write(2) to the attribute will not
 10                 return until the operation has finished. The attribute is
 11                 notified about role changes so that poll(2) on the attribute
 12                 wakes up. Change on the role will also generate uevent
 13                 KOBJ_CHANGE on the port. The current role is show in brackets,
 14                 for example "[host] device" when DRP port is in host mode.
 15 
 16                 Valid values: host, device
 17 
 18 What:           /sys/class/typec/<port>/power_role
 19 Date:           April 2017
 20 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
 21 Description:
 22                 The supported power roles. This attribute can be used to request
 23                 power role swap on the port. Swapping is supported as
 24                 synchronous operation, so write(2) to the attribute will not
 25                 return until the operation has finished. The attribute is
 26                 notified about role changes so that poll(2) on the attribute
 27                 wakes up. Change on the role will also generate uevent
 28                 KOBJ_CHANGE. The current role is show in brackets, for example
 29                 "[source] sink" when in source mode.
 30 
 31                 Valid values: source, sink
 32 
 33 What:           /sys/class/typec/<port>/port_type
 34 Date:           May 2017
 35 Contact:        Badhri Jagan Sridharan <Badhri@google.com>
 36 Description:
 37                 Indicates the type of the port. This attribute can be used for
 38                 requesting a change in the port type. Port type change is
 39                 supported as a synchronous operation, so write(2) to the
 40                 attribute will not return until the operation has finished.
 41 
 42                 Valid values:
 43 
 44                 ======  ==============================================
 45                 source  (The port will behave as source only DFP port)
 46                 sink    (The port will behave as sink only UFP port)
 47                 dual    (The port will behave as dual-role-data and
 48                         dual-role-power port)
 49                 ======  ==============================================
 50 
 51 What:           /sys/class/typec/<port>/vconn_source
 52 Date:           April 2017
 53 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
 54 Description:
 55                 Shows is the port VCONN Source. This attribute can be used to
 56                 request VCONN swap to change the VCONN Source during connection
 57                 when both the port and the partner support USB Power Delivery.
 58                 Swapping is supported as synchronous operation, so write(2) to
 59                 the attribute will not return until the operation has finished.
 60                 The attribute is notified about VCONN source changes so that
 61                 poll(2) on the attribute wakes up. Change on VCONN source also
 62                 generates uevent KOBJ_CHANGE.
 63 
 64                 Valid values:
 65 
 66                 - "no" when the port is not the VCONN Source
 67                 - "yes" when the port is the VCONN Source
 68 
 69 What:           /sys/class/typec/<port>/power_operation_mode
 70 Date:           April 2017
 71 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
 72 Description:
 73                 Shows the current power operational mode the port is in. The
 74                 power operation mode means current level for VBUS. In case USB
 75                 Power Delivery communication is used for negotiating the levels,
 76                 power operation mode should show "usb_power_delivery".
 77 
 78                 Valid values:
 79 
 80                 - default
 81                 - 1.5A
 82                 - 3.0A
 83                 - usb_power_delivery
 84 
 85 What:           /sys/class/typec/<port>/preferred_role
 86 Date:           April 2017
 87 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
 88 Description:
 89                 The user space can notify the driver about the preferred role.
 90                 It should be handled as enabling of Try.SRC or Try.SNK, as
 91                 defined in USB Type-C specification, in the port drivers. By
 92                 default the preferred role should come from the platform.
 93 
 94                 Valid values: source, sink, none (to remove preference)
 95 
 96 What:           /sys/class/typec/<port>/supported_accessory_modes
 97 Date:           April 2017
 98 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
 99 Description:
100                 Space separated list of accessory modes, defined in the USB
101                 Type-C specification, the port supports.
102 
103 What:           /sys/class/typec/<port>/usb_power_delivery_revision
104 Date:           April 2017
105 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
106 Description:
107                 Revision number of the supported USB Power Delivery
108                 specification, or 0.0 when USB Power Delivery is not supported.
109 
110                 Example values:
111                 - "2.0": USB Power Delivery Release 2.0
112                 - "3.0": USB Power Delivery Release 3.0
113                 - "3.1": USB Power Delivery Release 3.1
114 
115 What:           /sys/class/typec/<port>-{partner|cable}/usb_power_delivery_revision
116 Date:           January 2021
117 Contact:        Benson Leung <bleung@chromium.org>
118 Description:
119                 Revision number of the supported USB Power Delivery
120                 specification of the port partner or cable, or 0.0 when USB
121                 Power Delivery is not supported.
122 
123                 Example values:
124                 - "2.0": USB Power Delivery Release 2.0
125                 - "3.0": USB Power Delivery Release 3.0
126                 - "3.1": USB Power Delivery Release 3.1
127 
128 What:           /sys/class/typec/<port>/usb_typec_revision
129 Date:           April 2017
130 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
131 Description:
132                 Revision number of the supported USB Type-C specification.
133 
134 What:           /sys/class/typec/<port>/orientation
135 Date:           February 2020
136 Contact:        Badhri Jagan Sridharan <badhri@google.com>
137 Description:
138                 Indicates the active orientation of the Type-C connector.
139                 Valid values:
140                 - "normal": CC1 orientation
141                 - "reverse": CC2 orientation
142                 - "unknown": Orientation cannot be determined.
143 
144 What:           /sys/class/typec/<port>/select_usb_power_delivery
145 Date:           May 2022
146 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
147 Description:
148                 Lists the USB Power Delivery Capabilities that the port can
149                 advertise to the partner. The currently used capabilities are in
150                 brackets. Selection happens by writing to the file.
151 
152 USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
153 
154 What:           /sys/class/typec/<port>-partner/accessory_mode
155 Date:           April 2017
156 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
157 Description:
158                 Shows the Accessory Mode name when the partner is an Accessory.
159                 The Accessory Modes are defined in USB Type-C Specification.
160 
161 What:           /sys/class/typec/<port>-partner/supports_usb_power_delivery
162 Date:           April 2017
163 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
164 Description:
165                 Shows if the partner supports USB Power Delivery communication:
166                 Valid values: yes, no
167 
168 What:           /sys/class/typec/<port>-partner/number_of_alternate_modes
169 Date:           November 2020
170 Contact:        Prashant Malani <pmalani@chromium.org>
171 Description:
172                 Shows the number of alternate modes which are advertised by the partner
173                 during Power Delivery discovery. This file remains hidden until a value
174                 greater than or equal to 0 is set by Type C port driver.
175 
176 What:           /sys/class/typec/<port>-partner/type
177 Date:           December 2020
178 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
179 Description:    USB Power Delivery Specification defines a set of product types
180                 for the partner devices. This file will show the product type of
181                 the partner if it is known. Dual-role capable partners will have
182                 both UFP and DFP product types defined, but only one that
183                 matches the current role will be active at the time. If the
184                 product type of the partner is not visible to the device driver,
185                 this file will not exist.
186 
187                 When the partner product type is detected, or changed with role
188                 swap, uvevent is also raised that contains PRODUCT_TYPE=<product
189                 type> (for example PRODUCT_TYPE=hub).
190 
191                 Valid values:
192 
193                 UFP / device role
194                 ======================  ==========================
195                 undefined               -
196                 hub                     PDUSB Hub
197                 peripheral              PDUSB Peripheral
198                 psd                     Power Bank
199                 ama                     Alternate Mode Adapter
200                 ======================  ==========================
201 
202                 DFP / host role
203                 ======================  ==========================
204                 undefined               -
205                 hub                     PDUSB Hub
206                 host                    PDUSB Host
207                 power_brick             Power Brick
208                 amc                     Alternate Mode Controller
209                 ======================  ==========================
210 
211 What:           /sys/class/typec/<port>-partner/identity/
212 Date:           April 2017
213 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
214 Description:
215                 This directory appears only if the port device driver is capable
216                 of showing the result of Discover Identity USB power delivery
217                 command. That will not always be possible even when USB power
218                 delivery is supported, for example when USB power delivery
219                 communication for the port is mostly handled in firmware. If the
220                 directory exists, it will have an attribute file for every VDO
221                 in Discover Identity command result.
222 
223 USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
224 
225 Note: Electronically Marked Cables will have a device also for one cable plug
226 (eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP
227 Double Prime controller (USB Power Deliver specification ch. 2.4) it will have
228 second device also for the other plug. Both plugs may have alternate modes as
229 described in USB Type-C and USB Power Delivery specifications.
230 
231 What:           /sys/class/typec/<port>-cable/type
232 Date:           April 2017
233 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
234 Description:    USB Power Delivery Specification defines a set of product types
235                 for the cables. This file will show the product type of the
236                 cable if it is known. If the product type of the cable is not
237                 visible to the device driver, this file will not exist.
238 
239                 When the cable product type is detected, uvevent is also raised
240                 with PRODUCT_TYPE showing the product type of the cable.
241 
242                 Valid values:
243 
244                 ======================  ==========================
245                 undefined               -
246                 active                  Active Cable
247                 passive                 Passive Cable
248                 ======================  ==========================
249 
250 What:           /sys/class/typec/<port>-cable/plug_type
251 Date:           April 2017
252 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
253 Description:
254                 Shows type of the plug on the cable:
255 
256                 - type-a - Standard A
257                 - type-b - Standard B
258                 - type-c
259                 - captive
260 
261 What:           /sys/class/typec/<port>-<plug>/number_of_alternate_modes
262 Date:           November 2020
263 Contact:        Prashant Malani <pmalani@chromium.org>
264 Description:
265                 Shows the number of alternate modes which are advertised by the plug
266                 associated with a particular cable during Power Delivery discovery.
267                 This file remains hidden until a value greater than or equal to 0
268                 is set by Type C port driver.
269 
270 
271 USB Type-C partner/cable Power Delivery Identity objects
272 
273 NOTE: The following attributes will be applicable to both
274 partner (e.g /sys/class/typec/port0-partner/) and
275 cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
276 paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
277 reflect this.
278 
279 What:           /sys/class/typec/<port>-{partner|cable}/identity/
280 Date:           April 2017
281 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
282 Description:
283                 This directory appears only if the port device driver is capable
284                 of showing the result of Discover Identity USB power delivery
285                 command. That will not always be possible even when USB power
286                 delivery is supported, for example when USB power delivery
287                 communication for the port is mostly handled in firmware. If the
288                 directory exists, it will have an attribute file for every VDO
289                 in Discover Identity command result.
290 
291 What:           /sys/class/typec/<port>-{partner|cable}/identity/id_header
292 Date:           April 2017
293 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
294 Description:
295                 ID Header VDO part of Discover Identity command result. The
296                 value will show 0 until Discover Identity command result becomes
297                 available. The value can be polled.
298 
299 What:           /sys/class/typec/<port>-{partner|cable}/identity/cert_stat
300 Date:           April 2017
301 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
302 Description:
303                 Cert Stat VDO part of Discover Identity command result. The
304                 value will show 0 until Discover Identity command result becomes
305                 available. The value can be polled.
306 
307 What:           /sys/class/typec/<port>-{partner|cable}/identity/product
308 Date:           April 2017
309 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
310 Description:
311                 Product VDO part of Discover Identity command result. The value
312                 will show 0 until Discover Identity command result becomes
313                 available. The value can be polled.
314 
315 What:           /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1
316 Date:           October 2020
317 Contact:        Prashant Malani <pmalani@chromium.org>
318 Description:
319                 1st Product Type VDO of Discover Identity command result.
320                 The value will show 0 until Discover Identity command result becomes
321                 available and a valid Product Type VDO is returned.
322 
323 What:           /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
324 Date:           October 2020
325 Contact:        Prashant Malani <pmalani@chromium.org>
326 Description:
327                 2nd Product Type VDO of Discover Identity command result.
328                 The value will show 0 until Discover Identity command result becomes
329                 available and a valid Product Type VDO is returned.
330 
331 What:           /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3
332 Date:           October 2020
333 Contact:        Prashant Malani <pmalani@chromium.org>
334 Description:
335                 3rd Product Type VDO of Discover Identity command result.
336                 The value will show 0 until Discover Identity command result becomes
337                 available and a valid Product Type VDO is returned.
338 
339 
340 USB Type-C port alternate mode devices.
341 
342 What:           /sys/class/typec/<port>/<alt mode>/supported_roles
343 Date:           April 2017
344 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
345 Description:
346                 Space separated list of the supported roles.
347 
348                 Valid values: source, sink

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php