1662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery 2662a6010SHeikki KrogerusDate: May 2022 3662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 4662a6010SHeikki KrogerusDescription: 5662a6010SHeikki Krogerus Directory for USB Power Delivery devices. 6662a6010SHeikki Krogerus 7662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../revision 8662a6010SHeikki KrogerusDate: May 2022 9662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 10662a6010SHeikki KrogerusDescription: 11662a6010SHeikki Krogerus File showing the USB Power Delivery Specification Revision used 12662a6010SHeikki Krogerus in communication. 13662a6010SHeikki Krogerus 14662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../version 15662a6010SHeikki KrogerusDate: May 2022 16662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 17662a6010SHeikki KrogerusDescription: 18662a6010SHeikki Krogerus This is an optional attribute file showing the version of the 19662a6010SHeikki Krogerus specific revision of the USB Power Delivery Specification. In 20662a6010SHeikki Krogerus most cases the specification version is not known and the file 21662a6010SHeikki Krogerus is not available. 22662a6010SHeikki Krogerus 23662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities 24662a6010SHeikki KrogerusDate: May 2022 25662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 26662a6010SHeikki KrogerusDescription: 27662a6010SHeikki Krogerus The source capabilities message "Source_Capabilities" contains a 28662a6010SHeikki Krogerus set of Power Data Objects (PDO), each representing a type of 29662a6010SHeikki Krogerus power supply. The order of the PDO objects is defined in the USB 30662a6010SHeikki Krogerus Power Delivery Specification. Each PDO - power supply - will 31662a6010SHeikki Krogerus have its own device, and the PDO device name will start with the 32662a6010SHeikki Krogerus object position number as the first character followed by the 33662a6010SHeikki Krogerus power supply type name (":" as delimiter). 34662a6010SHeikki Krogerus 35662a6010SHeikki Krogerus /sys/class/usb_power_delivery/.../source_capabilities/<position>:<type> 36662a6010SHeikki Krogerus 37662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities 38662a6010SHeikki KrogerusDate: May 2022 39662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 40662a6010SHeikki KrogerusDescription: 41662a6010SHeikki Krogerus The sink capability message "Sink_Capabilities" contains a set 42662a6010SHeikki Krogerus of Power Data Objects (PDO) just like with source capabilities, 43662a6010SHeikki Krogerus but instead of describing the power capabilities, these objects 44662a6010SHeikki Krogerus describe the power requirements. 45662a6010SHeikki Krogerus 46662a6010SHeikki Krogerus The order of the objects in the sink capability message is the 47662a6010SHeikki Krogerus same as with the source capabilities message. 48662a6010SHeikki Krogerus 49662a6010SHeikki KrogerusFixed Supplies 50662a6010SHeikki Krogerus 51662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply 52662a6010SHeikki KrogerusDate: May 2022 53662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 54662a6010SHeikki KrogerusDescription: 55662a6010SHeikki Krogerus Devices containing the attributes (the bit fields) defined for 56662a6010SHeikki Krogerus Fixed Supplies. 57662a6010SHeikki Krogerus 58662a6010SHeikki Krogerus The device "1:fixed_supply" is special. USB Power Delivery 59662a6010SHeikki Krogerus Specification dictates that the first PDO (at object position 60662a6010SHeikki Krogerus 1), and the only mandatory PDO, is always the vSafe5V Fixed 61662a6010SHeikki Krogerus Supply Object. vSafe5V Object has additional fields defined for 62662a6010SHeikki Krogerus it that the other Fixed Supply Objects do not have and that are 63662a6010SHeikki Krogerus related to the USB capabilities rather than power capabilities. 64662a6010SHeikki Krogerus 65662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power 66662a6010SHeikki KrogerusDate: May 2022 67662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 68662a6010SHeikki KrogerusDescription: 69662a6010SHeikki Krogerus This file contains boolean value that tells does the device 70662a6010SHeikki Krogerus support both source and sink power roles. 71662a6010SHeikki Krogerus 72*c620f4d5SSaranya GopalWhat: /sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported 73662a6010SHeikki KrogerusDate: May 2022 74662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 75662a6010SHeikki KrogerusDescription: 76662a6010SHeikki Krogerus This file shows the value of the USB Suspend Supported bit in 77662a6010SHeikki Krogerus vSafe5V Fixed Supply Object. If the bit is set then the device 78662a6010SHeikki Krogerus will follow the USB 2.0 and USB 3.2 rules for suspend and 79662a6010SHeikki Krogerus resume. 80662a6010SHeikki Krogerus 81*c620f4d5SSaranya GopalWhat: /sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability 82*c620f4d5SSaranya GopalDate: February 2023 83*c620f4d5SSaranya GopalContact: Saranya Gopal <saranya.gopal@linux.intel.com> 84*c620f4d5SSaranya GopalDescription: 85*c620f4d5SSaranya Gopal This file shows the value of the Higher capability bit in 86*c620f4d5SSaranya Gopal vsafe5V Fixed Supply Object. If the bit is set, then the sink 87*c620f4d5SSaranya Gopal needs more than vsafe5V(eg. 12 V) to provide full functionality. 88*c620f4d5SSaranya Gopal Valid values: 0, 1 89*c620f4d5SSaranya Gopal 90662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power 91662a6010SHeikki KrogerusDate: May 2022 92662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 93662a6010SHeikki KrogerusDescription: 94662a6010SHeikki Krogerus This file shows the value of the Unconstrained Power bit in 95662a6010SHeikki Krogerus vSafe5V Fixed Supply Object. The bit is set when an external 96662a6010SHeikki Krogerus source of power, powerful enough to power the entire system on 97662a6010SHeikki Krogerus its own, is available for the device. 98662a6010SHeikki Krogerus 99662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable 100662a6010SHeikki KrogerusDate: May 2022 101662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 102662a6010SHeikki KrogerusDescription: 103662a6010SHeikki Krogerus This file shows the value of the USB Communication Capable bit in 104662a6010SHeikki Krogerus vSafe5V Fixed Supply Object. 105662a6010SHeikki Krogerus 106662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data 107662a6010SHeikki KrogerusDate: May 2022 108662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 109662a6010SHeikki KrogerusDescription: 110662a6010SHeikki Krogerus This file shows the value of the Dual-Role Data bit in vSafe5V 111662a6010SHeikki Krogerus Fixed Supply Object. Dual role data means ability act as both 112662a6010SHeikki Krogerus USB host and USB device. 113662a6010SHeikki Krogerus 114662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported 115662a6010SHeikki KrogerusDate: May 2022 116662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 117662a6010SHeikki KrogerusDescription: 118662a6010SHeikki Krogerus This file shows the value of the Unchunked Extended Messages 119662a6010SHeikki Krogerus Supported bit in vSafe5V Fixed Supply Object. 120662a6010SHeikki Krogerus 121662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage 122662a6010SHeikki KrogerusDate: May 2022 123662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 124662a6010SHeikki KrogerusDescription: 125662a6010SHeikki Krogerus The voltage the supply supports in millivolts. 126662a6010SHeikki Krogerus 127662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current 128662a6010SHeikki KrogerusDate: May 2022 129662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 130662a6010SHeikki KrogerusDescription: 131662a6010SHeikki Krogerus Maximum current of the fixed source supply in milliamperes. 132662a6010SHeikki Krogerus 133662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current 134662a6010SHeikki KrogerusDate: May 2022 135662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 136662a6010SHeikki KrogerusDescription: 137662a6010SHeikki Krogerus Operational current of the sink in milliamperes. 138662a6010SHeikki Krogerus 139662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current 140662a6010SHeikki KrogerusDate: May 2022 141662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 142662a6010SHeikki KrogerusDescription: 143662a6010SHeikki Krogerus This file contains the value of the "Fast Role Swap USB Type-C 144662a6010SHeikki Krogerus Current" field that tells the current level the sink requires 145662a6010SHeikki Krogerus after a Fast Role Swap. 146662a6010SHeikki Krogerus 0 - Fast Swap not supported" 147662a6010SHeikki Krogerus 1 - Default USB Power" 148662a6010SHeikki Krogerus 2 - 1.5A@5V" 149662a6010SHeikki Krogerus 3 - 3.0A@5V" 150662a6010SHeikki Krogerus 151662a6010SHeikki KrogerusVariable Supplies 152662a6010SHeikki Krogerus 153662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply 154662a6010SHeikki KrogerusDate: May 2022 155662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 156662a6010SHeikki KrogerusDescription: 157662a6010SHeikki Krogerus Variable Power Supply PDO. 158662a6010SHeikki Krogerus 159662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage 160662a6010SHeikki KrogerusDate: May 2022 161662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 162662a6010SHeikki KrogerusDescription: 163662a6010SHeikki Krogerus Maximum Voltage in millivolts. 164662a6010SHeikki Krogerus 165662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage 166662a6010SHeikki KrogerusDate: May 2022 167662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 168662a6010SHeikki KrogerusDescription: 169662a6010SHeikki Krogerus Minimum Voltage in millivolts. 170662a6010SHeikki Krogerus 171662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current 172662a6010SHeikki KrogerusDate: May 2022 173662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 174662a6010SHeikki KrogerusDescription: 175662a6010SHeikki Krogerus The maximum current in milliamperes that the source can supply 176662a6010SHeikki Krogerus at the given Voltage range. 177662a6010SHeikki Krogerus 178662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current 179662a6010SHeikki KrogerusDate: May 2022 180662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 181662a6010SHeikki KrogerusDescription: 182662a6010SHeikki Krogerus The operational current in milliamperes that the sink requires 183662a6010SHeikki Krogerus at the given Voltage range. 184662a6010SHeikki Krogerus 185662a6010SHeikki KrogerusBattery Supplies 186662a6010SHeikki Krogerus 187662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:battery 188662a6010SHeikki KrogerusDate: May 2022 189662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 190662a6010SHeikki KrogerusDescription: 191662a6010SHeikki Krogerus Battery PDO. 192662a6010SHeikki Krogerus 193662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage 194662a6010SHeikki KrogerusDate: May 2022 195662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 196662a6010SHeikki KrogerusDescription: 197662a6010SHeikki Krogerus Maximum Voltage in millivolts. 198662a6010SHeikki Krogerus 199662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage 200662a6010SHeikki KrogerusDate: May 2022 201662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 202662a6010SHeikki KrogerusDescription: 203662a6010SHeikki Krogerus Minimum Voltage in millivolts. 204662a6010SHeikki Krogerus 205662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power 206662a6010SHeikki KrogerusDate: May 2022 207662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 208662a6010SHeikki KrogerusDescription: 209662a6010SHeikki Krogerus Maximum allowable Power in milliwatts. 210662a6010SHeikki Krogerus 211662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power 212662a6010SHeikki KrogerusDate: May 2022 213662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 214662a6010SHeikki KrogerusDescription: 215662a6010SHeikki Krogerus The operational power that the sink requires at the given 216662a6010SHeikki Krogerus voltage range. 217662a6010SHeikki Krogerus 218662a6010SHeikki KrogerusStandard Power Range (SPR) Programmable Power Supplies 219662a6010SHeikki Krogerus 220662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply 221662a6010SHeikki KrogerusDate: May 2022 222662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 223662a6010SHeikki KrogerusDescription: 224662a6010SHeikki Krogerus Programmable Power Supply (PPS) Augmented PDO (APDO). 225662a6010SHeikki Krogerus 226662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage 227662a6010SHeikki KrogerusDate: May 2022 228662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 229662a6010SHeikki KrogerusDescription: 230662a6010SHeikki Krogerus Maximum Voltage in millivolts. 231662a6010SHeikki Krogerus 232662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage 233662a6010SHeikki KrogerusDate: May 2022 234662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 235662a6010SHeikki KrogerusDescription: 236662a6010SHeikki Krogerus Minimum Voltage in millivolts. 237662a6010SHeikki Krogerus 238662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current 239662a6010SHeikki KrogerusDate: May 2022 240662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 241662a6010SHeikki KrogerusDescription: 242662a6010SHeikki Krogerus Maximum Current in milliamperes. 243662a6010SHeikki Krogerus 244662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited 245662a6010SHeikki KrogerusDate: May 2022 246662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 247662a6010SHeikki KrogerusDescription: 248662a6010SHeikki Krogerus The PPS Power Limited bit indicates whether or not the source 249662a6010SHeikki Krogerus supply will exceed the rated output power if requested. 250