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>/usb_typec_revision 116Date: April 2017 117Contact: Heikki Krogerus <[email protected]> 118Description: 119 Revision number of the supported USB Type-C specification. 120 121What: /sys/class/typec/<port>/orientation 122Date: February 2020 123Contact: Badhri Jagan Sridharan <[email protected]> 124Description: 125 Indicates the active orientation of the Type-C connector. 126 Valid values: 127 - "normal": CC1 orientation 128 - "reverse": CC2 orientation 129 - "unknown": Orientation cannot be determined. 130 131USB Type-C partner devices (eg. /sys/class/typec/port0-partner/) 132 133What: /sys/class/typec/<port>-partner/accessory_mode 134Date: April 2017 135Contact: Heikki Krogerus <[email protected]> 136Description: 137 Shows the Accessory Mode name when the partner is an Accessory. 138 The Accessory Modes are defined in USB Type-C Specification. 139 140What: /sys/class/typec/<port>-partner/supports_usb_power_delivery 141Date: April 2017 142Contact: Heikki Krogerus <[email protected]> 143Description: 144 Shows if the partner supports USB Power Delivery communication: 145 Valid values: yes, no 146 147What: /sys/class/typec/<port>-partner/number_of_alternate_modes 148Date: November 2020 149Contact: Prashant Malani <[email protected]> 150Description: 151 Shows the number of alternate modes which are advertised by the partner 152 during Power Delivery discovery. This file remains hidden until a value 153 greater than or equal to 0 is set by Type C port driver. 154 155What: /sys/class/typec/<port>-partner/type 156Date: December 2020 157Contact: Heikki Krogerus <[email protected]> 158Description: USB Power Delivery Specification defines a set of product types 159 for the partner devices. This file will show the product type of 160 the partner if it is known. Dual-role capable partners will have 161 both UFP and DFP product types defined, but only one that 162 matches the current role will be active at the time. If the 163 product type of the partner is not visible to the device driver, 164 this file will not exist. 165 166 When the partner product type is detected, or changed with role 167 swap, uvevent is also raised that contains PRODUCT_TYPE=<product 168 type> (for example PRODUCT_TYPE=hub). 169 170 Valid values: 171 172 UFP / device role 173 ====================== ========================== 174 undefined - 175 hub PDUSB Hub 176 peripheral PDUSB Peripheral 177 psd Power Bank 178 ama Alternate Mode Adapter 179 ====================== ========================== 180 181 DFP / host role 182 ====================== ========================== 183 undefined - 184 hub PDUSB Hub 185 host PDUSB Host 186 power_brick Power Brick 187 amc Alternate Mode Controller 188 ====================== ========================== 189 190What: /sys/class/typec/<port>-partner>/identity/ 191Date: April 2017 192Contact: Heikki Krogerus <[email protected]> 193Description: 194 This directory appears only if the port device driver is capable 195 of showing the result of Discover Identity USB power delivery 196 command. That will not always be possible even when USB power 197 delivery is supported, for example when USB power delivery 198 communication for the port is mostly handled in firmware. If the 199 directory exists, it will have an attribute file for every VDO 200 in Discover Identity command result. 201 202USB Type-C cable devices (eg. /sys/class/typec/port0-cable/) 203 204Note: Electronically Marked Cables will have a device also for one cable plug 205(eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP 206Double Prime controller (USB Power Deliver specification ch. 2.4) it will have 207second device also for the other plug. Both plugs may have alternate modes as 208described in USB Type-C and USB Power Delivery specifications. 209 210What: /sys/class/typec/<port>-cable/type 211Date: April 2017 212Contact: Heikki Krogerus <[email protected]> 213Description: USB Power Delivery Specification defines a set of product types 214 for the cables. This file will show the product type of the 215 cable if it is known. If the product type of the cable is not 216 visible to the device driver, this file will not exist. 217 218 When the cable product type is detected, uvevent is also raised 219 with PRODUCT_TYPE showing the product type of the cable. 220 221 Valid values: 222 223 ====================== ========================== 224 undefined - 225 active Active Cable 226 passive Passive Cable 227 ====================== ========================== 228 229What: /sys/class/typec/<port>-cable/plug_type 230Date: April 2017 231Contact: Heikki Krogerus <[email protected]> 232Description: 233 Shows type of the plug on the cable: 234 235 - type-a - Standard A 236 - type-b - Standard B 237 - type-c 238 - captive 239 240What: /sys/class/typec/<port>-<plug>/number_of_alternate_modes 241Date: November 2020 242Contact: Prashant Malani <[email protected]> 243Description: 244 Shows the number of alternate modes which are advertised by the plug 245 associated with a particular cable during Power Delivery discovery. 246 This file remains hidden until a value greater than or equal to 0 247 is set by Type C port driver. 248 249 250USB Type-C partner/cable Power Delivery Identity objects 251 252NOTE: The following attributes will be applicable to both 253partner (e.g /sys/class/typec/port0-partner/) and 254cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file 255paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to 256reflect this. 257 258What: /sys/class/typec/<port>-{partner|cable}/identity/ 259Date: April 2017 260Contact: Heikki Krogerus <[email protected]> 261Description: 262 This directory appears only if the port device driver is capable 263 of showing the result of Discover Identity USB power delivery 264 command. That will not always be possible even when USB power 265 delivery is supported, for example when USB power delivery 266 communication for the port is mostly handled in firmware. If the 267 directory exists, it will have an attribute file for every VDO 268 in Discover Identity command result. 269 270What: /sys/class/typec/<port>-{partner|cable}/identity/id_header 271Date: April 2017 272Contact: Heikki Krogerus <[email protected]> 273Description: 274 ID Header VDO part of Discover Identity command result. The 275 value will show 0 until Discover Identity command result becomes 276 available. The value can be polled. 277 278What: /sys/class/typec/<port>-{partner|cable}/identity/cert_stat 279Date: April 2017 280Contact: Heikki Krogerus <[email protected]> 281Description: 282 Cert Stat VDO part of Discover Identity command result. The 283 value will show 0 until Discover Identity command result becomes 284 available. The value can be polled. 285 286What: /sys/class/typec/<port>-{partner|cable}/identity/product 287Date: April 2017 288Contact: Heikki Krogerus <[email protected]> 289Description: 290 Product VDO part of Discover Identity command result. The value 291 will show 0 until Discover Identity command result becomes 292 available. The value can be polled. 293 294What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1 295Date: October 2020 296Contact: Prashant Malani <[email protected]> 297Description: 298 1st Product Type VDO of Discover Identity command result. 299 The value will show 0 until Discover Identity command result becomes 300 available and a valid Product Type VDO is returned. 301 302What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2 303Date: October 2020 304Contact: Prashant Malani <[email protected]> 305Description: 306 2nd Product Type VDO of Discover Identity command result. 307 The value will show 0 until Discover Identity command result becomes 308 available and a valid Product Type VDO is returned. 309 310What: /sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3 311Date: October 2020 312Contact: Prashant Malani <[email protected]> 313Description: 314 3rd Product Type VDO of Discover Identity command result. 315 The value will show 0 until Discover Identity command result becomes 316 available and a valid Product Type VDO is returned. 317 318 319USB Type-C port alternate mode devices. 320 321What: /sys/class/typec/<port>/<alt mode>/supported_roles 322Date: April 2017 323Contact: Heikki Krogerus <[email protected]> 324Description: 325 Space separated list of the supported roles. 326 327 Valid values: source, sink 328