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 72c620f4d5SSaranya 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 81c620f4d5SSaranya GopalWhat: /sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability 82c620f4d5SSaranya GopalDate: February 2023 83c620f4d5SSaranya GopalContact: Saranya Gopal <saranya.gopal@linux.intel.com> 84c620f4d5SSaranya GopalDescription: 85c620f4d5SSaranya Gopal This file shows the value of the Higher capability bit in 86c620f4d5SSaranya Gopal vsafe5V Fixed Supply Object. If the bit is set, then the sink 87c620f4d5SSaranya Gopal needs more than vsafe5V(eg. 12 V) to provide full functionality. 88c620f4d5SSaranya Gopal Valid values: 0, 1 89c620f4d5SSaranya 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 127*568441b7SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current 128*568441b7SHeikki KrogerusDate: October 2023 129*568441b7SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 130*568441b7SHeikki KrogerusDescription: 131*568441b7SHeikki Krogerus This file shows the value of the Fixed Power Source Peak Current 132*568441b7SHeikki Krogerus Capability field. 133*568441b7SHeikki Krogerus 134662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current 135662a6010SHeikki KrogerusDate: May 2022 136662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 137662a6010SHeikki KrogerusDescription: 138662a6010SHeikki Krogerus Maximum current of the fixed source supply in milliamperes. 139662a6010SHeikki Krogerus 140662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current 141662a6010SHeikki KrogerusDate: May 2022 142662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 143662a6010SHeikki KrogerusDescription: 144662a6010SHeikki Krogerus Operational current of the sink in milliamperes. 145662a6010SHeikki Krogerus 146662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current 147662a6010SHeikki KrogerusDate: May 2022 148662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 149662a6010SHeikki KrogerusDescription: 150662a6010SHeikki Krogerus This file contains the value of the "Fast Role Swap USB Type-C 151662a6010SHeikki Krogerus Current" field that tells the current level the sink requires 152662a6010SHeikki Krogerus after a Fast Role Swap. 153662a6010SHeikki Krogerus 0 - Fast Swap not supported" 154662a6010SHeikki Krogerus 1 - Default USB Power" 155662a6010SHeikki Krogerus 2 - 1.5A@5V" 156662a6010SHeikki Krogerus 3 - 3.0A@5V" 157662a6010SHeikki Krogerus 158662a6010SHeikki KrogerusVariable Supplies 159662a6010SHeikki Krogerus 160662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply 161662a6010SHeikki KrogerusDate: May 2022 162662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 163662a6010SHeikki KrogerusDescription: 164662a6010SHeikki Krogerus Variable Power Supply PDO. 165662a6010SHeikki Krogerus 166662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage 167662a6010SHeikki KrogerusDate: May 2022 168662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 169662a6010SHeikki KrogerusDescription: 170662a6010SHeikki Krogerus Maximum Voltage in millivolts. 171662a6010SHeikki Krogerus 172662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage 173662a6010SHeikki KrogerusDate: May 2022 174662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 175662a6010SHeikki KrogerusDescription: 176662a6010SHeikki Krogerus Minimum Voltage in millivolts. 177662a6010SHeikki Krogerus 178662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current 179662a6010SHeikki KrogerusDate: May 2022 180662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 181662a6010SHeikki KrogerusDescription: 182662a6010SHeikki Krogerus The maximum current in milliamperes that the source can supply 183662a6010SHeikki Krogerus at the given Voltage range. 184662a6010SHeikki Krogerus 185662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current 186662a6010SHeikki KrogerusDate: May 2022 187662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 188662a6010SHeikki KrogerusDescription: 189662a6010SHeikki Krogerus The operational current in milliamperes that the sink requires 190662a6010SHeikki Krogerus at the given Voltage range. 191662a6010SHeikki Krogerus 192662a6010SHeikki KrogerusBattery Supplies 193662a6010SHeikki Krogerus 194662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:battery 195662a6010SHeikki KrogerusDate: May 2022 196662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 197662a6010SHeikki KrogerusDescription: 198662a6010SHeikki Krogerus Battery PDO. 199662a6010SHeikki Krogerus 200662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage 201662a6010SHeikki KrogerusDate: May 2022 202662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 203662a6010SHeikki KrogerusDescription: 204662a6010SHeikki Krogerus Maximum Voltage in millivolts. 205662a6010SHeikki Krogerus 206662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage 207662a6010SHeikki KrogerusDate: May 2022 208662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 209662a6010SHeikki KrogerusDescription: 210662a6010SHeikki Krogerus Minimum Voltage in millivolts. 211662a6010SHeikki Krogerus 212662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power 213662a6010SHeikki KrogerusDate: May 2022 214662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 215662a6010SHeikki KrogerusDescription: 216662a6010SHeikki Krogerus Maximum allowable Power in milliwatts. 217662a6010SHeikki Krogerus 218662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power 219662a6010SHeikki KrogerusDate: May 2022 220662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 221662a6010SHeikki KrogerusDescription: 222662a6010SHeikki Krogerus The operational power that the sink requires at the given 223662a6010SHeikki Krogerus voltage range. 224662a6010SHeikki Krogerus 225662a6010SHeikki KrogerusStandard Power Range (SPR) Programmable Power Supplies 226662a6010SHeikki Krogerus 227662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply 228662a6010SHeikki KrogerusDate: May 2022 229662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 230662a6010SHeikki KrogerusDescription: 231662a6010SHeikki Krogerus Programmable Power Supply (PPS) Augmented PDO (APDO). 232662a6010SHeikki Krogerus 233662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage 234662a6010SHeikki KrogerusDate: May 2022 235662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 236662a6010SHeikki KrogerusDescription: 237662a6010SHeikki Krogerus Maximum Voltage in millivolts. 238662a6010SHeikki Krogerus 239662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage 240662a6010SHeikki KrogerusDate: May 2022 241662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 242662a6010SHeikki KrogerusDescription: 243662a6010SHeikki Krogerus Minimum Voltage in millivolts. 244662a6010SHeikki Krogerus 245662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current 246662a6010SHeikki KrogerusDate: May 2022 247662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 248662a6010SHeikki KrogerusDescription: 249662a6010SHeikki Krogerus Maximum Current in milliamperes. 250662a6010SHeikki Krogerus 251662a6010SHeikki KrogerusWhat: /sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited 252662a6010SHeikki KrogerusDate: May 2022 253662a6010SHeikki KrogerusContact: Heikki Krogerus <heikki.krogerus@linux.intel.com> 254662a6010SHeikki KrogerusDescription: 255662a6010SHeikki Krogerus The PPS Power Limited bit indicates whether or not the source 256662a6010SHeikki Krogerus supply will exceed the rated output power if requested. 257