Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1What: /sys/class/usb_power_delivery
2Date: May 2022
3Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
4Description:
5 Directory for USB Power Delivery devices.
6
7What: /sys/class/usb_power_delivery/.../revision
8Date: May 2022
9Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
10Description:
11 File showing the USB Power Delivery Specification Revision used
12 in communication.
13
14What: /sys/class/usb_power_delivery/.../version
15Date: May 2022
16Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
17Description:
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
21 is not available.
22
23What: /sys/class/usb_power_delivery/.../source-capabilities
24Date: May 2022
25Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
26Description:
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).
34
35 /sys/class/usb_power_delivery/.../source_capabilities/<position>:<type>
36
37What: /sys/class/usb_power_delivery/.../sink-capabilities
38Date: May 2022
39Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
40Description:
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.
45
46 The order of the objects in the sink capability message is the
47 same as with the source capabilities message.
48
49Fixed Supplies
50
51What: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply
52Date: May 2022
53Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
54Description:
55 Devices containing the attributes (the bit fields) defined for
56 Fixed Supplies.
57
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.
64
65What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power
66Date: May 2022
67Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
68Description:
69 This file contains boolean value that tells does the device
70 support both source and sink power roles.
71
72What: /sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported
73Date: May 2022
74Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
75Description:
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
79 resume.
80
81What: /sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability
82Date: February 2023
83Contact: Saranya Gopal <saranya.gopal@linux.intel.com>
84Description:
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.
88 Valid values: 0, 1
89
90What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
91Date: May 2022
92Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
93Description:
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.
98
99What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
100Date: May 2022
101Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
102Description:
103 This file shows the value of the USB Communication Capable bit in
104 vSafe5V Fixed Supply Object.
105
106What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
107Date: May 2022
108Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
109Description:
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.
113
114What: /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
115Date: May 2022
116Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
117Description:
118 This file shows the value of the Unchunked Extended Messages
119 Supported bit in vSafe5V Fixed Supply Object.
120
121What: /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
122Date: May 2022
123Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
124Description:
125 The voltage the supply supports in millivolts.
126
127What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current
128Date: October 2023
129Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
130Description:
131 This file shows the value of the Fixed Power Source Peak Current
132 Capability field.
133
134What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
135Date: May 2022
136Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
137Description:
138 Maximum current of the fixed source supply in milliamperes.
139
140What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
141Date: May 2022
142Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
143Description:
144 Operational current of the sink in milliamperes.
145
146What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
147Date: May 2022
148Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
149Description:
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"
155 2 - 1.5A@5V"
156 3 - 3.0A@5V"
157
158Variable Supplies
159
160What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
161Date: May 2022
162Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
163Description:
164 Variable Power Supply PDO.
165
166What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
167Date: May 2022
168Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
169Description:
170 Maximum Voltage in millivolts.
171
172What: /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
173Date: May 2022
174Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
175Description:
176 Minimum Voltage in millivolts.
177
178What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
179Date: May 2022
180Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
181Description:
182 The maximum current in milliamperes that the source can supply
183 at the given Voltage range.
184
185What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
186Date: May 2022
187Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
188Description:
189 The operational current in milliamperes that the sink requires
190 at the given Voltage range.
191
192Battery Supplies
193
194What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery
195Date: May 2022
196Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
197Description:
198 Battery PDO.
199
200What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
201Date: May 2022
202Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
203Description:
204 Maximum Voltage in millivolts.
205
206What: /sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
207Date: May 2022
208Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
209Description:
210 Minimum Voltage in millivolts.
211
212What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
213Date: May 2022
214Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
215Description:
216 Maximum allowable Power in milliwatts.
217
218What: /sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
219Date: May 2022
220Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
221Description:
222 The operational power that the sink requires at the given
223 voltage range.
224
225Standard Power Range (SPR) Programmable Power Supplies
226
227What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
228Date: May 2022
229Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
230Description:
231 Programmable Power Supply (PPS) Augmented PDO (APDO).
232
233What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
234Date: May 2022
235Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
236Description:
237 Maximum Voltage in millivolts.
238
239What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
240Date: May 2022
241Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
242Description:
243 Minimum Voltage in millivolts.
244
245What: /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
246Date: May 2022
247Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
248Description:
249 Maximum Current in milliamperes.
250
251What: /sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
252Date: May 2022
253Contact: Heikki Krogerus <heikki.krogerus@linux.intel.com>
254Description:
255 The PPS Power Limited bit indicates whether or not the source
256 supply will exceed the rated output power if requested.
257
258Standard Power Range (SPR) Adjustable Voltage Supplies
259
260What: /sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply
261Date: Oct 2025
262Contact: Badhri Jagan Sridharan <badhri@google.com>
263Description:
264 Adjustable Voltage Supply (AVS) Augmented PDO (APDO).
265
266What: /sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply/maximum_current_9V_to_15V
267Date: Oct 2025
268Contact: Badhri Jagan Sridharan <badhri@google.com>
269Description:
270 Maximum Current for 9V to 15V range in milliamperes.
271
272What: /sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply/maximum_current_15V_to_20V
273Date: Oct 2025
274Contact: Badhri Jagan Sridharan <badhri@google.com>
275Description:
276 Maximum Current for greater than 15V till 20V range in
277 milliamperes.
278
279What: /sys/class/usb_power_delivery/.../<capability>/<position>:spr_adjustable_voltage_supply/peak_current
280Date: Oct 2025
281Contact: Badhri Jagan Sridharan <badhri@google.com>
282Description:
283 This file shows the value of the Adjustable Voltage Supply Peak Current
284 Capability field.