Linux 6.7-rc7
[linux-modified.git] / Documentation / ABI / testing / sysfs-class-usb_power_delivery
1 What:           /sys/class/usb_power_delivery
2 Date:           May 2022
3 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
4 Description:
5                 Directory for USB Power Delivery devices.
6
7 What:           /sys/class/usb_power_delivery/.../revision
8 Date:           May 2022
9 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
10 Description:
11                 File showing the USB Power Delivery Specification Revision used
12                 in communication.
13
14 What:           /sys/class/usb_power_delivery/.../version
15 Date:           May 2022
16 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
17 Description:
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
23 What:           /sys/class/usb_power_delivery/.../source-capabilities
24 Date:           May 2022
25 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
26 Description:
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
37 What:           /sys/class/usb_power_delivery/.../sink-capabilities
38 Date:           May 2022
39 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
40 Description:
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
49 Fixed Supplies
50
51 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply
52 Date:           May 2022
53 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
54 Description:
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
65 What:           /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power
66 Date:           May 2022
67 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
68 Description:
69                 This file contains boolean value that tells does the device
70                 support both source and sink power roles.
71
72 What:           /sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported
73 Date:           May 2022
74 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
75 Description:
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
81 What:           /sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability
82 Date:           February 2023
83 Contact:        Saranya Gopal <saranya.gopal@linux.intel.com>
84 Description:
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
90 What:           /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
91 Date:           May 2022
92 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
93 Description:
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
99 What:           /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
100 Date:           May 2022
101 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
102 Description:
103                 This file shows the value of the USB Communication Capable bit in
104                 vSafe5V Fixed Supply Object.
105
106 What:           /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
107 Date:           May 2022
108 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
109 Description:
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
114 What:           /sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
115 Date:           May 2022
116 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
117 Description:
118                 This file shows the value of the Unchunked Extended Messages
119                 Supported bit in vSafe5V Fixed Supply Object.
120
121 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
122 Date:           May 2022
123 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
124 Description:
125                 The voltage the supply supports in millivolts.
126
127 What:           /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current
128 Date:           October 2023
129 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
130 Description:
131                 This file shows the value of the Fixed Power Source Peak Current
132                 Capability field.
133
134 What:           /sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
135 Date:           May 2022
136 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
137 Description:
138                 Maximum current of the fixed source supply in milliamperes.
139
140 What:           /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
141 Date:           May 2022
142 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
143 Description:
144                 Operational current of the sink in milliamperes.
145
146 What:           /sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
147 Date:           May 2022
148 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
149 Description:
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
158 Variable Supplies
159
160 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
161 Date:           May 2022
162 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
163 Description:
164                 Variable Power Supply PDO.
165
166 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
167 Date:           May 2022
168 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
169 Description:
170                 Maximum Voltage in millivolts.
171
172 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
173 Date:           May 2022
174 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
175 Description:
176                 Minimum Voltage in millivolts.
177
178 What:           /sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
179 Date:           May 2022
180 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
181 Description:
182                 The maximum current in milliamperes that the source can supply
183                 at the given Voltage range.
184
185 What:           /sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
186 Date:           May 2022
187 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
188 Description:
189                 The operational current in milliamperes that the sink requires
190                 at the given Voltage range.
191
192 Battery Supplies
193
194 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:battery
195 Date:           May 2022
196 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
197 Description:
198                 Battery PDO.
199
200 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
201 Date:           May 2022
202 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
203 Description:
204                 Maximum Voltage in millivolts.
205
206 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
207 Date:           May 2022
208 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
209 Description:
210                 Minimum Voltage in millivolts.
211
212 What:           /sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
213 Date:           May 2022
214 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
215 Description:
216                 Maximum allowable Power in milliwatts.
217
218 What:           /sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
219 Date:           May 2022
220 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
221 Description:
222                 The operational power that the sink requires at the given
223                 voltage range.
224
225 Standard Power Range (SPR) Programmable Power Supplies
226
227 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
228 Date:           May 2022
229 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
230 Description:
231                 Programmable Power Supply (PPS) Augmented PDO (APDO).
232
233 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
234 Date:           May 2022
235 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
236 Description:
237                 Maximum Voltage in millivolts.
238
239 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
240 Date:           May 2022
241 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
242 Description:
243                 Minimum Voltage in millivolts.
244
245 What:           /sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
246 Date:           May 2022
247 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
248 Description:
249                 Maximum Current in milliamperes.
250
251 What:           /sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
252 Date:           May 2022
253 Contact:        Heikki Krogerus <heikki.krogerus@linux.intel.com>
254 Description:
255                 The PPS Power Limited bit indicates whether or not the source
256                 supply will exceed the rated output power if requested.