1 What: /sys/class/usb_power_delivery
3 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
5 Directory for USB Power Delivery devices.
7 What: /sys/class/usb_power_delivery/.../revision
9 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
11 File showing the USB Power Delivery Specification Revision used
14 What: /sys/class/usb_power_delivery/.../version
16 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
18 This is an optional attribute file showing the version of the
19 specific revision of the USB Power Delivery Specification. In
20 most cases the specification version is not known and the file
23 What: /sys/class/usb_power_delivery/.../source-capabilities
25 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
27 The source capabilities message "Source_Capabilities" contains a
28 set of Power Data Objects (PDO), each representing a type of
29 power supply. The order of the PDO objects is defined in the USB
30 Power Delivery Specification. Each PDO - power supply - will
31 have its own device, and the PDO device name will start with the
32 object position number as the first character followed by the
33 power supply type name (":" as delimiter).
35 /sys/class/usb_power_delivery/.../source_capabilities/<position>:<type>
37 What: /sys/class/usb_power_delivery/.../sink-capabilities
39 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
41 The sink capability message "Sink_Capabilities" contains a set
42 of Power Data Objects (PDO) just like with source capabilities,
43 but instead of describing the power capabilities, these objects
44 describe the power requirements.
46 The order of the objects in the sink capability message is the
47 same as with the source capabilities message.
51 What: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply
53 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
55 Devices containing the attributes (the bit fields) defined for
58 The device "1:fixed_supply" is special. USB Power Delivery
59 Specification dictates that the first PDO (at object position
60 1), and the only mandatory PDO, is always the vSafe5V Fixed
61 Supply Object. vSafe5V Object has additional fields defined for
62 it that the other Fixed Supply Objects do not have and that are
63 related to the USB capabilities rather than power capabilities.
65 What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power
67 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
69 This file contains boolean value that tells does the device
70 support both source and sink power roles.
72 What: /sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported
74 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
76 This file shows the value of the USB Suspend Supported bit in
77 vSafe5V Fixed Supply Object. If the bit is set then the device
78 will follow the USB 2.0 and USB 3.2 rules for suspend and
81 What: /sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability
83 Contact: Saranya Gopal <saranya.gopal@linux.intel.com>
85 This file shows the value of the Higher capability bit in
86 vsafe5V Fixed Supply Object. If the bit is set, then the sink
87 needs more than vsafe5V(eg. 12 V) to provide full functionality.
90 What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
92 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
94 This file shows the value of the Unconstrained Power bit in
95 vSafe5V Fixed Supply Object. The bit is set when an external
96 source of power, powerful enough to power the entire system on
97 its own, is available for the device.
99 What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
101 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
103 This file shows the value of the USB Communication Capable bit in
104 vSafe5V Fixed Supply Object.
106 What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
108 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
110 This file shows the value of the Dual-Role Data bit in vSafe5V
111 Fixed Supply Object. Dual role data means ability act as both
112 USB host and USB device.
114 What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
116 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
118 This file shows the value of the Unchunked Extended Messages
119 Supported bit in vSafe5V Fixed Supply Object.
121 What: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
123 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
125 The voltage the supply supports in millivolts.
127 What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current
129 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
131 This file shows the value of the Fixed Power Source Peak Current
134 What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
136 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
138 Maximum current of the fixed source supply in milliamperes.
140 What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
142 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
144 Operational current of the sink in milliamperes.
146 What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
148 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
150 This file contains the value of the "Fast Role Swap USB Type-C
151 Current" field that tells the current level the sink requires
152 after a Fast Role Swap.
153 0 - Fast Swap not supported"
154 1 - Default USB Power"
160 What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
162 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
164 Variable Power Supply PDO.
166 What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
168 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
170 Maximum Voltage in millivolts.
172 What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
174 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
176 Minimum Voltage in millivolts.
178 What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
180 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
182 The maximum current in milliamperes that the source can supply
183 at the given Voltage range.
185 What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
187 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
189 The operational current in milliamperes that the sink requires
190 at the given Voltage range.
194 What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery
196 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
200 What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
202 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
204 Maximum Voltage in millivolts.
206 What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
208 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
210 Minimum Voltage in millivolts.
212 What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
214 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
216 Maximum allowable Power in milliwatts.
218 What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
220 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
222 The operational power that the sink requires at the given
225 Standard Power Range (SPR) Programmable Power Supplies
227 What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
229 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
231 Programmable Power Supply (PPS) Augmented PDO (APDO).
233 What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
235 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
237 Maximum Voltage in millivolts.
239 What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
241 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
243 Minimum Voltage in millivolts.
245 What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
247 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
249 Maximum Current in milliamperes.
251 What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
253 Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
255 The PPS Power Limited bit indicates whether or not the source
256 supply will exceed the rated output power if requested.