xref: /openbmc/linux/Documentation/ABI/testing/sysfs-class-usb_power_delivery (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
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
72*c620f4d5SSaranya 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
81*c620f4d5SSaranya GopalWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/1:fixed_supply/higher_capability
82*c620f4d5SSaranya GopalDate:		February 2023
83*c620f4d5SSaranya GopalContact:	Saranya Gopal <saranya.gopal@linux.intel.com>
84*c620f4d5SSaranya GopalDescription:
85*c620f4d5SSaranya Gopal		This file shows the value of the Higher capability bit in
86*c620f4d5SSaranya Gopal		vsafe5V Fixed Supply Object. If the bit is set, then the sink
87*c620f4d5SSaranya Gopal		needs more than vsafe5V(eg. 12 V) to provide full functionality.
88*c620f4d5SSaranya Gopal		Valid values: 0, 1
89*c620f4d5SSaranya 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
127662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:fixed_supply/maximum_current
128662a6010SHeikki KrogerusDate:		May 2022
129662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
130662a6010SHeikki KrogerusDescription:
131662a6010SHeikki Krogerus		Maximum current of the fixed source supply in milliamperes.
132662a6010SHeikki Krogerus
133662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/operational_current
134662a6010SHeikki KrogerusDate:		May 2022
135662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
136662a6010SHeikki KrogerusDescription:
137662a6010SHeikki Krogerus		Operational current of the sink in milliamperes.
138662a6010SHeikki Krogerus
139662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:fixed_supply/fast_role_swap_current
140662a6010SHeikki KrogerusDate:		May 2022
141662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
142662a6010SHeikki KrogerusDescription:
143662a6010SHeikki Krogerus		This file contains the value of the "Fast Role Swap USB Type-C
144662a6010SHeikki Krogerus		Current" field that tells the current level the sink requires
145662a6010SHeikki Krogerus		after a Fast Role Swap.
146662a6010SHeikki Krogerus		0 - Fast Swap not supported"
147662a6010SHeikki Krogerus		1 - Default USB Power"
148662a6010SHeikki Krogerus		2 - 1.5A@5V"
149662a6010SHeikki Krogerus		3 - 3.0A@5V"
150662a6010SHeikki Krogerus
151662a6010SHeikki KrogerusVariable Supplies
152662a6010SHeikki Krogerus
153662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply
154662a6010SHeikki KrogerusDate:		May 2022
155662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
156662a6010SHeikki KrogerusDescription:
157662a6010SHeikki Krogerus		Variable Power Supply PDO.
158662a6010SHeikki Krogerus
159662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/maximum_voltage
160662a6010SHeikki KrogerusDate:		May 2022
161662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
162662a6010SHeikki KrogerusDescription:
163662a6010SHeikki Krogerus		Maximum Voltage in millivolts.
164662a6010SHeikki Krogerus
165662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:variable_supply/minimum_voltage
166662a6010SHeikki KrogerusDate:		May 2022
167662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
168662a6010SHeikki KrogerusDescription:
169662a6010SHeikki Krogerus		Minimum Voltage in millivolts.
170662a6010SHeikki Krogerus
171662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:variable_supply/maximum_current
172662a6010SHeikki KrogerusDate:		May 2022
173662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
174662a6010SHeikki KrogerusDescription:
175662a6010SHeikki Krogerus		The maximum current in milliamperes that the source can supply
176662a6010SHeikki Krogerus		at the given Voltage range.
177662a6010SHeikki Krogerus
178662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:variable_supply/operational_current
179662a6010SHeikki KrogerusDate:		May 2022
180662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
181662a6010SHeikki KrogerusDescription:
182662a6010SHeikki Krogerus		The operational current in milliamperes that the sink requires
183662a6010SHeikki Krogerus		at the given Voltage range.
184662a6010SHeikki Krogerus
185662a6010SHeikki KrogerusBattery Supplies
186662a6010SHeikki Krogerus
187662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery
188662a6010SHeikki KrogerusDate:		May 2022
189662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
190662a6010SHeikki KrogerusDescription:
191662a6010SHeikki Krogerus		Battery PDO.
192662a6010SHeikki Krogerus
193662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/maximum_voltage
194662a6010SHeikki KrogerusDate:		May 2022
195662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
196662a6010SHeikki KrogerusDescription:
197662a6010SHeikki Krogerus		Maximum Voltage in millivolts.
198662a6010SHeikki Krogerus
199662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:battery/minimum_voltage
200662a6010SHeikki KrogerusDate:		May 2022
201662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
202662a6010SHeikki KrogerusDescription:
203662a6010SHeikki Krogerus		Minimum Voltage in millivolts.
204662a6010SHeikki Krogerus
205662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:battery/maximum_power
206662a6010SHeikki KrogerusDate:		May 2022
207662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
208662a6010SHeikki KrogerusDescription:
209662a6010SHeikki Krogerus		Maximum allowable Power in milliwatts.
210662a6010SHeikki Krogerus
211662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../sink-capabilities/<position>:battery/operational_power
212662a6010SHeikki KrogerusDate:		May 2022
213662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
214662a6010SHeikki KrogerusDescription:
215662a6010SHeikki Krogerus		The operational power that the sink requires at the given
216662a6010SHeikki Krogerus		voltage range.
217662a6010SHeikki Krogerus
218662a6010SHeikki KrogerusStandard Power Range (SPR) Programmable Power Supplies
219662a6010SHeikki Krogerus
220662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply
221662a6010SHeikki KrogerusDate:		May 2022
222662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
223662a6010SHeikki KrogerusDescription:
224662a6010SHeikki Krogerus		Programmable Power Supply (PPS) Augmented PDO (APDO).
225662a6010SHeikki Krogerus
226662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_voltage
227662a6010SHeikki KrogerusDate:		May 2022
228662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
229662a6010SHeikki KrogerusDescription:
230662a6010SHeikki Krogerus		Maximum Voltage in millivolts.
231662a6010SHeikki Krogerus
232662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/minimum_voltage
233662a6010SHeikki KrogerusDate:		May 2022
234662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
235662a6010SHeikki KrogerusDescription:
236662a6010SHeikki Krogerus		Minimum Voltage in millivolts.
237662a6010SHeikki Krogerus
238662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../<capability>/<position>:programmable_supply/maximum_current
239662a6010SHeikki KrogerusDate:		May 2022
240662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
241662a6010SHeikki KrogerusDescription:
242662a6010SHeikki Krogerus		Maximum Current in milliamperes.
243662a6010SHeikki Krogerus
244662a6010SHeikki KrogerusWhat:		/sys/class/usb_power_delivery/.../source-capabilities/<position>:programmable_supply/pps_power_limited
245662a6010SHeikki KrogerusDate:		May 2022
246662a6010SHeikki KrogerusContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
247662a6010SHeikki KrogerusDescription:
248662a6010SHeikki Krogerus		The PPS Power Limited bit indicates whether or not the source
249662a6010SHeikki Krogerus		supply will exceed the rated output power if requested.
250