1USB Type-C port devices (eg. /sys/class/typec/port0/) 2 3What: /sys/class/typec/<port>/data_role 4Date: April 2017 5Contact: Heikki Krogerus <[email protected]> 6Description: 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 18What: /sys/class/typec/<port>/power_role 19Date: April 2017 20Contact: Heikki Krogerus <[email protected]> 21Description: 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 33What: /sys/class/typec/<port>/port_type 34Date: May 2017 35Contact: Badhri Jagan Sridharan <[email protected]> 36Description: 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 51What: /sys/class/typec/<port>/vconn_source 52Date: April 2017 53Contact: Heikki Krogerus <[email protected]> 54Description: 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 69What: /sys/class/typec/<port>/power_operation_mode 70Date: April 2017 71Contact: Heikki Krogerus <[email protected]> 72Description: 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 85What: /sys/class/typec/<port>/preferred_role 86Date: April 2017 87Contact: Heikki Krogerus <[email protected]> 88Description: 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 96What: /sys/class/typec/<port>/supported_accessory_modes 97Date: April 2017 98Contact: Heikki Krogerus <[email protected]> 99Description: 100 Space separated list of accessory modes, defined in the USB 101 Type-C specification, the port supports. 102 103What: /sys/class/typec/<port>/usb_power_delivery_revision 104Date: April 2017 105Contact: Heikki Krogerus <[email protected]> 106Description: 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 115What: /sys/class/typec/<port>-{partner|cable}/usb_power_delivery_revision 116Date: January 2021 117Contact: Benson Leung <[email protected]> 118Description: 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 128What: /sys/class/typec/<port>/usb_typec_revision 129Date: April 2017 130Contact: Heikki Krogerus <[email protected]> 131Description: 132 Revision number of the supported USB Type-C specification. 133 134What: /sys/class/typec/<port>/orientation 135Date: February 2020 136Contact: Badhri Jagan Sridharan <[email protected]> 137Description: 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 144What: /sys/class/typec/<port>/select_usb_power_delivery 145Date: May 2022 146Contact: Heikki Krogerus <[email protected]> 147Description: 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 152What: /sys/class/typec/<port>/usb_capability 153Date: November 2024 154Contact: Heikki Krogerus <[email protected]> 155Description: Lists the supported USB Modes. The default USB mode that is used 156 next time with the Enter_USB Message is in brackets. The default 157 mode can be changed by writing to the file when supported by the 158 driver. 159 160 Valid values: 161 - usb2 (USB 2.0) 162 - usb3 (USB 3.2) 163 - usb4 (USB4) 164 165USB Type-C partner devices (eg. /sys/class/typec/port0-partner/) 166 167What: /sys/class/typec/<port>-partner/accessory_mode 168Date: April 2017 169Contact: Heikki Krogerus <[email protected]> 170Description: 171 Shows the Accessory Mode name when the partner is an Accessory. 172 The Accessory Modes are defined in USB Type-C Specification. 173 174What: /sys/class/typec/<port>-partner/supports_usb_power_delivery 175Date: April 2017 176Contact: Heikki Krogerus <[email protected]> 177Description: 178 Shows if the partner supports USB Power Delivery communication: 179 Valid values: yes, no 180 181What: /sys/class/typec/<port>-partner/number_of_alternate_modes 182Date: November 2020 183Contact: Prashant Malani <[email protected]> 184Description: 185 Shows the number of alternate modes which are advertised by the partner 186 during Power Delivery discovery. This file remains hidden until a value 187 greater than or equal to 0 is set by Type C port driver. 188 189What: /sys/class/typec/<port>-partner/type 190Date: December 2020 191Contact: Heikki Krogerus <[email protected]> 192Description: USB Power Delivery Specification defines a set of product types 193 for the partner devices. This file will show the product type of 194 the partner if it is known. Dual-role capable partners will have 195 both UFP and DFP product types defined, but only one that 196 matches the current role will be active at the time. If the 197 product type of the partner is not visible to the device driver, 198 this file will not exist. 199 200 When the partner product type is detected, or changed with role 201 swap, uvevent is also raised that contains PRODUCT_TYPE=<product 202 type> (for example PRODUCT_TYPE=hub). 203 204 Valid values: 205 206 UFP / device role 207 ====================== ========================== 208 undefined - 209 hub PDUSB Hub 210 peripheral PDUSB Peripheral 211 psd Power Bank 212 ama Alternate Mode Adapter 213 ====================== ========================== 214 215 DFP / host role 216 ====================== ========================== 217 undefined - 218 hub PDUSB Hub 219 host PDUSB Host 220 power_brick Power Brick 221 amc Alternate Mode Controller 222 ====================== ========================== 223 224What: /sys/class/typec/<port>-partner/identity/ 225Date: April 2017 226Contact: Heikki Krogerus <[email protected]> 227Description: 228 This directory appears only if the port device driver is capable 229 of showing the result of Discover Identity USB power delivery 230 command. That will not always be possible even when USB power 231 delivery is supported, for example when USB power delivery 232 communication for the port is mostly handled in firmware. If the 233 directory exists, it will have an attribute file for every VDO 234 in Discover Identity command result. 235 236USB Type-C cable devices (eg. /sys/class/typec/port0-cable/) 237 238Note: Electronically Marked Cables will have a device also for one cable plug 239(eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP 240Double Prime controller (USB Power Deliver specification ch. 2.4) it will have 241second device also for the other plug. Both plugs may have alternate modes as 242described in USB Type-C and USB Power Delivery specifications. 243 244What: /sys/class/typec/<port>-cable/type 245Date: April 2017 246Contact: Heikki Krogerus <[email protected]> 247Description: USB Power Delivery Specification defines a set of product types 248 for the cables. This file will show the product type of the 249 cable if it is known. If the product type of the cable is not 250 visible to the device driver, this file will not exist. 251 252 When the cable product type is detected, uvevent is also raised 253 with PRODUCT_TYPE showing the product type of the cable. 254 255 Valid values: 256 257 ====================== ========================== 258 undefined - 259 active Active Cable 260 passive Passive Cable 261 ====================== ========================== 262 263What: /sys/class/typec/<port>-cable/plug_type 264Date: April 2017 265Contact: Heikki Krogerus <[email protected]> 266Description: 267 Shows type of the plug on the cable: 268 269 - type-a - Standard A 270 - type-b - Standard B 271 - type-c 272 - captive 273 274What: /sys/class/typec/<port>-<plug>/number_of_alternate_modes 275Date: November 2020 276Contact: Prashant Malani <[email protected]> 277Description: 278 Shows the number of alternate modes which are advertised by the plug 279 associated with a particular cable during Power Delivery discovery. 280 This file remains hidden until a value greater than or equal to 0 281 is set by Type C port driver. 282 283 284USB Type-C partner/cable Power Delivery Identity objects 285 286NOTE: The following attributes will be applicable to both 287partner (e.g /sys/class/typec/port0-partner/) and 288cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file 289paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to 290reflect this. 291 292What: /sys/class/typec/<port>-{partner|cable}/identity/ 293Date: April 2017 294Contact: Heikki Krogerus <[email protected]> 295Description: 296 This directory appears only if the port device driver is capable 297 of showing the result of Discover Identity USB power delivery 298 command. That will not always be possible even when USB power 299 delivery is supported, for example when USB power delivery 300 communication for the port is mostly handled in firmware. If the 301 directory exists, it will have an attribute file for every VDO 302 in Discover Identity command result. 303 304What: /sys/class/typec/<port>-{partner|cable}/identity/id_header 305Date: April 2017 306Contact: Heikki Krogerus <[email protected]> 307Description: 308 ID Header VDO part of Discover Identity command result. The 309 value will show 0 until Discover Identity command result becomes 310 available. The value can be polled. 311 312What: /sys/class/typec/<port>-{partner|cable}/identity/cert_stat 313Date: April 2017 314Contact: Heikki Krogerus <[email protected]> 315Description: 316 Cert Stat VDO part of Discover Identity command result. The 317 value will show 0 until Discover Identity command result becomes 318 available. The value can be polled. 319 320What: /sys/class/typec/<port>-{partner|cable}/identity/product 321Date: April 2017 322Contact: Heikki Krogerus <[email protected]> 323Description: 324 Product VDO part of Discover Identity command result. The value 325 will show 0 until Discover Identity command result becomes 326 available. The value can be polled. 327 328What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1 329Date: October 2020 330Contact: Prashant Malani <[email protected]> 331Description: 332 1st Product Type VDO of Discover Identity command result. 333 The value will show 0 until Discover Identity command result becomes 334 available and a valid Product Type VDO is returned. 335 336What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2 337Date: October 2020 338Contact: Prashant Malani <[email protected]> 339Description: 340 2nd Product Type VDO of Discover Identity command result. 341 The value will show 0 until Discover Identity command result becomes 342 available and a valid Product Type VDO is returned. 343 344What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3 345Date: October 2020 346Contact: Prashant Malani <[email protected]> 347Description: 348 3rd Product Type VDO of Discover Identity command result. 349 The value will show 0 until Discover Identity command result becomes 350 available and a valid Product Type VDO is returned. 351 352 353USB Type-C port alternate mode devices. 354 355What: /sys/class/typec/<port>/<alt mode>/supported_roles 356Date: April 2017 357Contact: Heikki Krogerus <[email protected]> 358Description: 359 Space separated list of the supported roles. 360 361 Valid values: source, sink 362