1USB Type-C port devices (eg. /sys/class/typec/port0/) 2 3What: /sys/class/typec/<port>/data_role 4Date: April 2017 5Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 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 <heikki.krogerus@linux.intel.com> 21Description: 22 The supported power roles. This attribute can be used to request 23 power role swap on the port when the port supports USB Power 24 Delivery. Swapping is supported as synchronous operation, so 25 write(2) to the attribute will not return until the operation 26 has finished. The attribute is notified about role changes so 27 that poll(2) on the attribute wakes up. Change on the role will 28 also generate uevent KOBJ_CHANGE. The current role is show in 29 brackets, for example "[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 <Badhri@google.com> 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 - source (The port will behave as source only DFP port) 44 - sink (The port will behave as sink only UFP port) 45 - dual (The port will behave as dual-role-data and 46 dual-role-power port) 47 48What: /sys/class/typec/<port>/vconn_source 49Date: April 2017 50Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 51Description: 52 Shows is the port VCONN Source. This attribute can be used to 53 request VCONN swap to change the VCONN Source during connection 54 when both the port and the partner support USB Power Delivery. 55 Swapping is supported as synchronous operation, so write(2) to 56 the attribute will not return until the operation has finished. 57 The attribute is notified about VCONN source changes so that 58 poll(2) on the attribute wakes up. Change on VCONN source also 59 generates uevent KOBJ_CHANGE. 60 61 Valid values: 62 - "no" when the port is not the VCONN Source 63 - "yes" when the port is the VCONN Source 64 65What: /sys/class/typec/<port>/power_operation_mode 66Date: April 2017 67Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 68Description: 69 Shows the current power operational mode the port is in. The 70 power operation mode means current level for VBUS. In case USB 71 Power Delivery communication is used for negotiating the levels, 72 power operation mode should show "usb_power_delivery". 73 74 Valid values: 75 - default 76 - 1.5A 77 - 3.0A 78 - usb_power_delivery 79 80What: /sys/class/typec/<port>/preferred_role 81Date: April 2017 82Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 83Description: 84 The user space can notify the driver about the preferred role. 85 It should be handled as enabling of Try.SRC or Try.SNK, as 86 defined in USB Type-C specification, in the port drivers. By 87 default the preferred role should come from the platform. 88 89 Valid values: source, sink, none (to remove preference) 90 91What: /sys/class/typec/<port>/supported_accessory_modes 92Date: April 2017 93Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 94Description: 95 Space separated list of accessory modes, defined in the USB 96 Type-C specification, the port supports. 97 98What: /sys/class/typec/<port>/usb_power_delivery_revision 99Date: April 2017 100Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 101Description: 102 Revision number of the supported USB Power Delivery 103 specification, or 0 when USB Power Delivery is not supported. 104 105What: /sys/class/typec/<port>/usb_typec_revision 106Date: April 2017 107Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 108Description: 109 Revision number of the supported USB Type-C specification. 110 111 112USB Type-C partner devices (eg. /sys/class/typec/port0-partner/) 113 114What: /sys/class/typec/<port>-partner/accessory_mode 115Date: April 2017 116Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 117Description: 118 Shows the Accessory Mode name when the partner is an Accessory. 119 The Accessory Modes are defined in USB Type-C Specification. 120 121What: /sys/class/typec/<port>-partner/supports_usb_power_delivery 122Date: April 2017 123Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 124Description: 125 Shows if the partner supports USB Power Delivery communication: 126 Valid values: yes, no 127 128What: /sys/class/typec/<port>-partner>/identity/ 129Date: April 2017 130Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 131Description: 132 This directory appears only if the port device driver is capable 133 of showing the result of Discover Identity USB power delivery 134 command. That will not always be possible even when USB power 135 delivery is supported, for example when USB power delivery 136 communication for the port is mostly handled in firmware. If the 137 directory exists, it will have an attribute file for every VDO 138 in Discover Identity command result. 139 140What: /sys/class/typec/<port>-partner/identity/id_header 141Date: April 2017 142Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 143Description: 144 ID Header VDO part of Discover Identity command result. The 145 value will show 0 until Discover Identity command result becomes 146 available. The value can be polled. 147 148What: /sys/class/typec/<port>-partner/identity/cert_stat 149Date: April 2017 150Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 151Description: 152 Cert Stat VDO part of Discover Identity command result. The 153 value will show 0 until Discover Identity command result becomes 154 available. The value can be polled. 155 156What: /sys/class/typec/<port>-partner/identity/product 157Date: April 2017 158Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 159Description: 160 Product VDO part of Discover Identity command result. The value 161 will show 0 until Discover Identity command result becomes 162 available. The value can be polled. 163 164 165USB Type-C cable devices (eg. /sys/class/typec/port0-cable/) 166 167Note: Electronically Marked Cables will have a device also for one cable plug 168(eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP 169Double Prime controller (USB Power Deliver specification ch. 2.4) it will have 170second device also for the other plug. Both plugs may have alternate modes as 171described in USB Type-C and USB Power Delivery specifications. 172 173What: /sys/class/typec/<port>-cable/type 174Date: April 2017 175Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 176Description: 177 Shows if the cable is active. 178 Valid values: active, passive 179 180What: /sys/class/typec/<port>-cable/plug_type 181Date: April 2017 182Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 183Description: 184 Shows type of the plug on the cable: 185 - type-a - Standard A 186 - type-b - Standard B 187 - type-c 188 - captive 189 190What: /sys/class/typec/<port>-cable/identity/ 191Date: April 2017 192Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 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. If the directory exists, it will have an 198 attribute for every VDO returned by Discover Identity command. 199 200What: /sys/class/typec/<port>-cable/identity/id_header 201Date: April 2017 202Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 203Description: 204 ID Header VDO part of Discover Identity command result. The 205 value will show 0 until Discover Identity command result becomes 206 available. The value can be polled. 207 208What: /sys/class/typec/<port>-cable/identity/cert_stat 209Date: April 2017 210Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 211Description: 212 Cert Stat VDO part of Discover Identity command result. The 213 value will show 0 until Discover Identity command result becomes 214 available. The value can be polled. 215 216What: /sys/class/typec/<port>-cable/identity/product 217Date: April 2017 218Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 219Description: 220 Product VDO part of Discover Identity command result. The value 221 will show 0 until Discover Identity command result becomes 222 available. The value can be polled. 223 224 225USB Type-C port alternate mode devices. 226 227What: /sys/class/typec/<port>/<alt mode>/supported_roles 228Date: April 2017 229Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 230Description: 231 Space separated list of the supported roles. 232 233 Valid values: source, sink 234