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/.../<capability>/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/.../<capability>/1:fixed_supply/unconstrained_power
82Date:		May 2022
83Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
84Description:
85		This file shows the value of the Unconstrained Power bit in
86		vSafe5V Fixed Supply Object. The bit is set when an external
87		source of power, powerful enough to power the entire system on
88		its own, is available for the device.
89
90What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
91Date:		May 2022
92Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
93Description:
94		This file shows the value of the USB Communication Capable bit in
95		vSafe5V Fixed Supply Object.
96
97What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
98Date:		May 2022
99Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
100Description:
101		This file shows the value of the Dual-Role Data bit in vSafe5V
102		Fixed Supply Object. Dual role data means ability act as both
103		USB host and USB device.
104
105What:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
106Date:		May 2022
107Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
108Description:
109		This file shows the value of the Unchunked Extended Messages
110		Supported bit in vSafe5V Fixed Supply Object.
111
112What:		/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
113Date:		May 2022
114Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
115Description:
116		The voltage the supply supports in millivolts.
117
118What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
119Date:		May 2022
120Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
121Description:
122		Maximum current of the fixed source supply in milliamperes.
123
124What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
125Date:		May 2022
126Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
127Description:
128		Operational current of the sink in milliamperes.
129
130What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
131Date:		May 2022
132Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
133Description:
134		This file contains the value of the "Fast Role Swap USB Type-C
135		Current" field that tells the current level the sink requires
136		after a Fast Role Swap.
137		0 - Fast Swap not supported"
138		1 - Default USB Power"
139		2 - 1.5A@5V"
140		3 - 3.0A@5V"
141
142Variable Supplies
143
144What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
145Date:		May 2022
146Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
147Description:
148		Variable Power Supply PDO.
149
150What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
151Date:		May 2022
152Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
153Description:
154		Maximum Voltage in millivolts.
155
156What:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
157Date:		May 2022
158Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
159Description:
160		Minimum Voltage in millivolts.
161
162What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
163Date:		May 2022
164Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
165Description:
166		The maximum current in milliamperes that the source can supply
167		at the given Voltage range.
168
169What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
170Date:		May 2022
171Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
172Description:
173		The operational current in milliamperes that the sink requires
174		at the given Voltage range.
175
176Battery Supplies
177
178What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery
179Date:		May 2022
180Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
181Description:
182		Battery PDO.
183
184What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
185Date:		May 2022
186Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
187Description:
188		Maximum Voltage in millivolts.
189
190What:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
191Date:		May 2022
192Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
193Description:
194		Minimum Voltage in millivolts.
195
196What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
197Date:		May 2022
198Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
199Description:
200		Maximum allowable Power in milliwatts.
201
202What:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
203Date:		May 2022
204Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
205Description:
206		The operational power that the sink requires at the given
207		voltage range.
208
209Standard Power Range (SPR) Programmable Power Supplies
210
211What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
212Date:		May 2022
213Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
214Description:
215		Programmable Power Supply (PPS) Augmented PDO (APDO).
216
217What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
218Date:		May 2022
219Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
220Description:
221		Maximum Voltage in millivolts.
222
223What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
224Date:		May 2022
225Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
226Description:
227		Minimum Voltage in millivolts.
228
229What:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
230Date:		May 2022
231Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
232Description:
233		Maximum Current in milliamperes.
234
235What:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
236Date:		May 2022
237Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
238Description:
239		The PPS Power Limited bit indicates whether or not the source
240		supply will exceed the rated output power if requested.
241