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
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.