xref: /linux/Documentation/ABI/testing/sysfs-class-usb_power_delivery (revision ea68a3e9d14e9e0bf017d178fb4bd53b6deb1482)
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/maximum_current
128Date:		May 2022
129Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
130Description:
131		Maximum current of the fixed source supply in milliamperes.
132
133What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
134Date:		May 2022
135Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
136Description:
137		Operational current of the sink in milliamperes.
138
139What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
140Date:		May 2022
141Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
142Description:
143		This file contains the value of the "Fast Role Swap USB Type-C
144		Current" field that tells the current level the sink requires
145		after a Fast Role Swap.
146		0 - Fast Swap not supported"
147		1 - Default USB Power"
148		2 - 1.5A@5V"
149		3 - 3.0A@5V"
150
151Variable Supplies
152
153What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
154Date:		May 2022
155Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
156Description:
157		Variable Power Supply PDO.
158
159What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
160Date:		May 2022
161Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
162Description:
163		Maximum Voltage in millivolts.
164
165What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
166Date:		May 2022
167Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
168Description:
169		Minimum Voltage in millivolts.
170
171What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
172Date:		May 2022
173Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
174Description:
175		The maximum current in milliamperes that the source can supply
176		at the given Voltage range.
177
178What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
179Date:		May 2022
180Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
181Description:
182		The operational current in milliamperes that the sink requires
183		at the given Voltage range.
184
185Battery Supplies
186
187What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery
188Date:		May 2022
189Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
190Description:
191		Battery PDO.
192
193What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
194Date:		May 2022
195Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
196Description:
197		Maximum Voltage in millivolts.
198
199What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
200Date:		May 2022
201Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
202Description:
203		Minimum Voltage in millivolts.
204
205What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
206Date:		May 2022
207Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
208Description:
209		Maximum allowable Power in milliwatts.
210
211What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
212Date:		May 2022
213Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
214Description:
215		The operational power that the sink requires at the given
216		voltage range.
217
218Standard Power Range (SPR) Programmable Power Supplies
219
220What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
221Date:		May 2022
222Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
223Description:
224		Programmable Power Supply (PPS) Augmented PDO (APDO).
225
226What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
227Date:		May 2022
228Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
229Description:
230		Maximum Voltage in millivolts.
231
232What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
233Date:		May 2022
234Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
235Description:
236		Minimum Voltage in millivolts.
237
238What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
239Date:		May 2022
240Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
241Description:
242		Maximum Current in milliamperes.
243
244What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
245Date:		May 2022
246Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
247Description:
248		The PPS Power Limited bit indicates whether or not the source
249		supply will exceed the rated output power if requested.
250