xref: /linux/Documentation/ABI/testing/sysfs-class-usb_power_delivery (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery
2662a6010SHeikki KrogerusDate:		May 2022
3662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
4662a6010SHeikki KrogerusDescription:
5662a6010SHeikki Krogerus		Directory for USB Power Delivery devices.
6662a6010SHeikki Krogerus
7662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../revision
8662a6010SHeikki KrogerusDate:		May 2022
9662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
10662a6010SHeikki KrogerusDescription:
11662a6010SHeikki Krogerus		File showing the USB Power Delivery Specification Revision used
12662a6010SHeikki Krogerus		in communication.
13662a6010SHeikki Krogerus
14662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../version
15662a6010SHeikki KrogerusDate:		May 2022
16662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
17662a6010SHeikki KrogerusDescription:
18662a6010SHeikki Krogerus		This is an optional attribute file showing the version of the
19662a6010SHeikki Krogerus		specific revision of the USB Power Delivery Specification. In
20662a6010SHeikki Krogerus		most cases the specification version is not known and the file
21662a6010SHeikki Krogerus		is not available.
22662a6010SHeikki Krogerus
23662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities
24662a6010SHeikki KrogerusDate:		May 2022
25662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
26662a6010SHeikki KrogerusDescription:
27662a6010SHeikki Krogerus		The source capabilities message "Source_Capabilities" contains a
28662a6010SHeikki Krogerus		set of Power Data Objects (PDO), each representing a type of
29662a6010SHeikki Krogerus		power supply. The order of the PDO objects is defined in the USB
30662a6010SHeikki Krogerus		Power Delivery Specification. Each PDO - power supply - will
31662a6010SHeikki Krogerus		have its own device, and the PDO device name will start with the
32662a6010SHeikki Krogerus		object position number as the first character followed by the
33662a6010SHeikki Krogerus		power supply type name (":" as delimiter).
34662a6010SHeikki Krogerus
35662a6010SHeikki Krogerus			/sys/class/usb_power_delivery/.../source_capabilities/<position>:<type>
36662a6010SHeikki Krogerus
37662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities
38662a6010SHeikki KrogerusDate:		May 2022
39662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
40662a6010SHeikki KrogerusDescription:
41662a6010SHeikki Krogerus		The sink capability message "Sink_Capabilities" contains a set
42662a6010SHeikki Krogerus		of Power Data Objects (PDO) just like with source capabilities,
43662a6010SHeikki Krogerus		but instead of describing the power capabilities, these objects
44662a6010SHeikki Krogerus		describe the power requirements.
45662a6010SHeikki Krogerus
46662a6010SHeikki Krogerus		The order of the objects in the sink capability message is the
47662a6010SHeikki Krogerus		same as with the source capabilities message.
48662a6010SHeikki Krogerus
49662a6010SHeikki KrogerusFixed Supplies
50662a6010SHeikki Krogerus
51662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply
52662a6010SHeikki KrogerusDate:		May 2022
53662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
54662a6010SHeikki KrogerusDescription:
55662a6010SHeikki Krogerus		Devices containing the attributes (the bit fields) defined for
56662a6010SHeikki Krogerus		Fixed Supplies.
57662a6010SHeikki Krogerus
58662a6010SHeikki Krogerus		The device "1:fixed_supply" is special. USB Power Delivery
59662a6010SHeikki Krogerus		Specification dictates that the first PDO (at object position
60662a6010SHeikki Krogerus		1), and the only mandatory PDO, is always the vSafe5V Fixed
61662a6010SHeikki Krogerus		Supply Object. vSafe5V Object has additional fields defined for
62662a6010SHeikki Krogerus		it that the other Fixed Supply Objects do not have and that are
63662a6010SHeikki Krogerus		related to the USB capabilities rather than power capabilities.
64662a6010SHeikki Krogerus
65662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_power
66662a6010SHeikki KrogerusDate:		May 2022
67662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
68662a6010SHeikki KrogerusDescription:
69662a6010SHeikki Krogerus		This file contains boolean value that tells does the device
70662a6010SHeikki Krogerus		support both source and sink power roles.
71662a6010SHeikki Krogerus
72c620f4d5SSaranya GopalWhat:		/sys/class/usb_power_delivery/.../source-capabilities/1:fixed_supply/usb_suspend_supported
73662a6010SHeikki KrogerusDate:		May 2022
74662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
75662a6010SHeikki KrogerusDescription:
76662a6010SHeikki Krogerus		This file shows the value of the USB Suspend Supported bit in
77662a6010SHeikki Krogerus		vSafe5V Fixed Supply Object. If the bit is set then the device
78662a6010SHeikki Krogerus		will follow the USB 2.0 and USB 3.2 rules for suspend and
79662a6010SHeikki Krogerus		resume.
80662a6010SHeikki Krogerus
81c620f4d5SSaranya GopalWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability
82c620f4d5SSaranya GopalDate:		February 2023
83c620f4d5SSaranya GopalContact:	Saranya Gopal <saranya.gopal@linux.intel.com>
84c620f4d5SSaranya GopalDescription:
85c620f4d5SSaranya Gopal		This file shows the value of the Higher capability bit in
86c620f4d5SSaranya Gopal		vsafe5V Fixed Supply Object. If the bit is set, then the sink
87c620f4d5SSaranya Gopal		needs more than vsafe5V(eg. 12 V) to provide full functionality.
88c620f4d5SSaranya Gopal		Valid values: 0, 1
89c620f4d5SSaranya Gopal
90662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unconstrained_power
91662a6010SHeikki KrogerusDate:		May 2022
92662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
93662a6010SHeikki KrogerusDescription:
94662a6010SHeikki Krogerus		This file shows the value of the Unconstrained Power bit in
95662a6010SHeikki Krogerus		vSafe5V Fixed Supply Object. The bit is set when an external
96662a6010SHeikki Krogerus		source of power, powerful enough to power the entire system on
97662a6010SHeikki Krogerus		its own, is available for the device.
98662a6010SHeikki Krogerus
99662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/usb_communication_capable
100662a6010SHeikki KrogerusDate:		May 2022
101662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
102662a6010SHeikki KrogerusDescription:
103662a6010SHeikki Krogerus		This file shows the value of the USB Communication Capable bit in
104662a6010SHeikki Krogerus		vSafe5V Fixed Supply Object.
105662a6010SHeikki Krogerus
106662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/dual_role_data
107662a6010SHeikki KrogerusDate:		May 2022
108662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
109662a6010SHeikki KrogerusDescription:
110662a6010SHeikki Krogerus		This file shows the value of the Dual-Role Data bit in vSafe5V
111662a6010SHeikki Krogerus		Fixed Supply Object. Dual role data means ability act as both
112662a6010SHeikki Krogerus		USB host and USB device.
113662a6010SHeikki Krogerus
114662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/1:fixed_supply/unchunked_extended_messages_supported
115662a6010SHeikki KrogerusDate:		May 2022
116662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
117662a6010SHeikki KrogerusDescription:
118662a6010SHeikki Krogerus		This file shows the value of the Unchunked Extended Messages
119662a6010SHeikki Krogerus		Supported bit in vSafe5V Fixed Supply Object.
120662a6010SHeikki Krogerus
121662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:fixed_supply/voltage
122662a6010SHeikki KrogerusDate:		May 2022
123662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
124662a6010SHeikki KrogerusDescription:
125662a6010SHeikki Krogerus		The voltage the supply supports in millivolts.
126662a6010SHeikki Krogerus
127*568441b7SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/peak_current
128*568441b7SHeikki KrogerusDate:		October 2023
129*568441b7SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
130*568441b7SHeikki KrogerusDescription:
131*568441b7SHeikki Krogerus		This file shows the value of the Fixed Power Source Peak Current
132*568441b7SHeikki Krogerus		Capability field.
133*568441b7SHeikki Krogerus
134662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
135662a6010SHeikki KrogerusDate:		May 2022
136662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
137662a6010SHeikki KrogerusDescription:
138662a6010SHeikki Krogerus		Maximum current of the fixed source supply in milliamperes.
139662a6010SHeikki Krogerus
140662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
141662a6010SHeikki KrogerusDate:		May 2022
142662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
143662a6010SHeikki KrogerusDescription:
144662a6010SHeikki Krogerus		Operational current of the sink in milliamperes.
145662a6010SHeikki Krogerus
146662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
147662a6010SHeikki KrogerusDate:		May 2022
148662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
149662a6010SHeikki KrogerusDescription:
150662a6010SHeikki Krogerus		This file contains the value of the "Fast Role Swap USB Type-C
151662a6010SHeikki Krogerus		Current" field that tells the current level the sink requires
152662a6010SHeikki Krogerus		after a Fast Role Swap.
153662a6010SHeikki Krogerus		0 - Fast Swap not supported"
154662a6010SHeikki Krogerus		1 - Default USB Power"
155662a6010SHeikki Krogerus		2 - 1.5A@5V"
156662a6010SHeikki Krogerus		3 - 3.0A@5V"
157662a6010SHeikki Krogerus
158662a6010SHeikki KrogerusVariable Supplies
159662a6010SHeikki Krogerus
160662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
161662a6010SHeikki KrogerusDate:		May 2022
162662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
163662a6010SHeikki KrogerusDescription:
164662a6010SHeikki Krogerus		Variable Power Supply PDO.
165662a6010SHeikki Krogerus
166662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
167662a6010SHeikki KrogerusDate:		May 2022
168662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
169662a6010SHeikki KrogerusDescription:
170662a6010SHeikki Krogerus		Maximum Voltage in millivolts.
171662a6010SHeikki Krogerus
172662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
173662a6010SHeikki KrogerusDate:		May 2022
174662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
175662a6010SHeikki KrogerusDescription:
176662a6010SHeikki Krogerus		Minimum Voltage in millivolts.
177662a6010SHeikki Krogerus
178662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
179662a6010SHeikki KrogerusDate:		May 2022
180662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
181662a6010SHeikki KrogerusDescription:
182662a6010SHeikki Krogerus		The maximum current in milliamperes that the source can supply
183662a6010SHeikki Krogerus		at the given Voltage range.
184662a6010SHeikki Krogerus
185662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
186662a6010SHeikki KrogerusDate:		May 2022
187662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
188662a6010SHeikki KrogerusDescription:
189662a6010SHeikki Krogerus		The operational current in milliamperes that the sink requires
190662a6010SHeikki Krogerus		at the given Voltage range.
191662a6010SHeikki Krogerus
192662a6010SHeikki KrogerusBattery Supplies
193662a6010SHeikki Krogerus
194662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery
195662a6010SHeikki KrogerusDate:		May 2022
196662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
197662a6010SHeikki KrogerusDescription:
198662a6010SHeikki Krogerus		Battery PDO.
199662a6010SHeikki Krogerus
200662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
201662a6010SHeikki KrogerusDate:		May 2022
202662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
203662a6010SHeikki KrogerusDescription:
204662a6010SHeikki Krogerus		Maximum Voltage in millivolts.
205662a6010SHeikki Krogerus
206662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
207662a6010SHeikki KrogerusDate:		May 2022
208662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
209662a6010SHeikki KrogerusDescription:
210662a6010SHeikki Krogerus		Minimum Voltage in millivolts.
211662a6010SHeikki Krogerus
212662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
213662a6010SHeikki KrogerusDate:		May 2022
214662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
215662a6010SHeikki KrogerusDescription:
216662a6010SHeikki Krogerus		Maximum allowable Power in milliwatts.
217662a6010SHeikki Krogerus
218662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
219662a6010SHeikki KrogerusDate:		May 2022
220662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
221662a6010SHeikki KrogerusDescription:
222662a6010SHeikki Krogerus		The operational power that the sink requires at the given
223662a6010SHeikki Krogerus		voltage range.
224662a6010SHeikki Krogerus
225662a6010SHeikki KrogerusStandard Power Range (SPR) Programmable Power Supplies
226662a6010SHeikki Krogerus
227662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
228662a6010SHeikki KrogerusDate:		May 2022
229662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
230662a6010SHeikki KrogerusDescription:
231662a6010SHeikki Krogerus		Programmable Power Supply (PPS) Augmented PDO (APDO).
232662a6010SHeikki Krogerus
233662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
234662a6010SHeikki KrogerusDate:		May 2022
235662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
236662a6010SHeikki KrogerusDescription:
237662a6010SHeikki Krogerus		Maximum Voltage in millivolts.
238662a6010SHeikki Krogerus
239662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
240662a6010SHeikki KrogerusDate:		May 2022
241662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
242662a6010SHeikki KrogerusDescription:
243662a6010SHeikki Krogerus		Minimum Voltage in millivolts.
244662a6010SHeikki Krogerus
245662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
246662a6010SHeikki KrogerusDate:		May 2022
247662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
248662a6010SHeikki KrogerusDescription:
249662a6010SHeikki Krogerus		Maximum Current in milliamperes.
250662a6010SHeikki Krogerus
251662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
252662a6010SHeikki KrogerusDate:		May 2022
253662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
254662a6010SHeikki KrogerusDescription:
255662a6010SHeikki Krogerus		The PPS Power Limited bit indicates whether or not the source
256662a6010SHeikki Krogerus		supply will exceed the rated output power if requested.
257