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