Linux Audio

Check our new training course

Loading...
v6.2
  1USB Type-C port devices (eg. /sys/class/typec/port0/)
  2
  3What:		/sys/class/typec/<port>/data_role
  4Date:		April 2017
  5Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
  6Description:
  7		The supported USB data roles. This attribute can be used for
  8		requesting data role swapping on the port. Swapping is supported
  9		as synchronous operation, so write(2) to the attribute will not
 10		return until the operation has finished. The attribute is
 11		notified about role changes so that poll(2) on the attribute
 12		wakes up. Change on the role will also generate uevent
 13		KOBJ_CHANGE on the port. The current role is show in brackets,
 14		for example "[host] device" when DRP port is in host mode.
 15
 16		Valid values: host, device
 17
 18What:		/sys/class/typec/<port>/power_role
 19Date:		April 2017
 20Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 21Description:
 22		The supported power roles. This attribute can be used to request
 23		power role swap on the port. Swapping is supported as
 24		synchronous operation, so write(2) to the attribute will not
 25		return until the operation has finished. The attribute is
 26		notified about role changes so that poll(2) on the attribute
 27		wakes up. Change on the role will also generate uevent
 28		KOBJ_CHANGE. The current role is show in brackets, for example
 29		"[source] sink" when in source mode.
 30
 31		Valid values: source, sink
 32
 33What:           /sys/class/typec/<port>/port_type
 34Date:           May 2017
 35Contact:	Badhri Jagan Sridharan <Badhri@google.com>
 36Description:
 37		Indicates the type of the port. This attribute can be used for
 38		requesting a change in the port type. Port type change is
 39		supported as a synchronous operation, so write(2) to the
 40		attribute will not return until the operation has finished.
 41
 42		Valid values:
 43
 44		======  ==============================================
 45		source  (The port will behave as source only DFP port)
 46		sink    (The port will behave as sink only UFP port)
 47		dual    (The port will behave as dual-role-data and
 48			dual-role-power port)
 49		======  ==============================================
 50
 51What:		/sys/class/typec/<port>/vconn_source
 52Date:		April 2017
 53Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 54Description:
 55		Shows is the port VCONN Source. This attribute can be used to
 56		request VCONN swap to change the VCONN Source during connection
 57		when both the port and the partner support USB Power Delivery.
 58		Swapping is supported as synchronous operation, so write(2) to
 59		the attribute will not return until the operation has finished.
 60		The attribute is notified about VCONN source changes so that
 61		poll(2) on the attribute wakes up. Change on VCONN source also
 62		generates uevent KOBJ_CHANGE.
 63
 64		Valid values:
 65
 66		- "no" when the port is not the VCONN Source
 67		- "yes" when the port is the VCONN Source
 68
 69What:		/sys/class/typec/<port>/power_operation_mode
 70Date:		April 2017
 71Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 72Description:
 73		Shows the current power operational mode the port is in. The
 74		power operation mode means current level for VBUS. In case USB
 75		Power Delivery communication is used for negotiating the levels,
 76		power operation mode should show "usb_power_delivery".
 77
 78		Valid values:
 79
 80		- default
 81		- 1.5A
 82		- 3.0A
 83		- usb_power_delivery
 84
 85What:		/sys/class/typec/<port>/preferred_role
 86Date:		April 2017
 87Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 88Description:
 89		The user space can notify the driver about the preferred role.
 90		It should be handled as enabling of Try.SRC or Try.SNK, as
 91		defined in USB Type-C specification, in the port drivers. By
 92		default the preferred role should come from the platform.
 93
 94		Valid values: source, sink, none (to remove preference)
 95
 96What:		/sys/class/typec/<port>/supported_accessory_modes
 97Date:		April 2017
 98Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 99Description:
100		Space separated list of accessory modes, defined in the USB
101		Type-C specification, the port supports.
102
103What:		/sys/class/typec/<port>/usb_power_delivery_revision
104Date:		April 2017
105Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
106Description:
107		Revision number of the supported USB Power Delivery
108		specification, or 0.0 when USB Power Delivery is not supported.
109
110		Example values:
111		- "2.0": USB Power Delivery Release 2.0
112		- "3.0": USB Power Delivery Release 3.0
113		- "3.1": USB Power Delivery Release 3.1
114
115What:		/sys/class/typec/<port>-{partner|cable}/usb_power_delivery_revision
116Date:		January 2021
117Contact:	Benson Leung <bleung@chromium.org>
118Description:
119		Revision number of the supported USB Power Delivery
120		specification of the port partner or cable, or 0.0 when USB
121		Power Delivery is not supported.
122
123		Example values:
124		- "2.0": USB Power Delivery Release 2.0
125		- "3.0": USB Power Delivery Release 3.0
126		- "3.1": USB Power Delivery Release 3.1
127
128What:		/sys/class/typec/<port>/usb_typec_revision
129Date:		April 2017
130Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
131Description:
132		Revision number of the supported USB Type-C specification.
133
134What:		/sys/class/typec/<port>/orientation
135Date:		February 2020
136Contact:	Badhri Jagan Sridharan <badhri@google.com>
137Description:
138		Indicates the active orientation of the Type-C connector.
139		Valid values:
140		- "normal": CC1 orientation
141		- "reverse": CC2 orientation
142		- "unknown": Orientation cannot be determined.
143
144What:		/sys/class/typec/<port>/select_usb_power_delivery
145Date:		May 2022
146Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
147Description:
148		Lists the USB Power Delivery Capabilities that the port can
149		advertise to the partner. The currently used capabilities are in
150		brackets. Selection happens by writing to the file.
151
152USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
153
154What:		/sys/class/typec/<port>-partner/accessory_mode
155Date:		April 2017
156Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
157Description:
158		Shows the Accessory Mode name when the partner is an Accessory.
159		The Accessory Modes are defined in USB Type-C Specification.
160
161What:		/sys/class/typec/<port>-partner/supports_usb_power_delivery
162Date:		April 2017
163Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
164Description:
165		Shows if the partner supports USB Power Delivery communication:
166		Valid values: yes, no
167
168What:		/sys/class/typec/<port>-partner/number_of_alternate_modes
169Date:		November 2020
170Contact:	Prashant Malani <pmalani@chromium.org>
171Description:
172		Shows the number of alternate modes which are advertised by the partner
173		during Power Delivery discovery. This file remains hidden until a value
174		greater than or equal to 0 is set by Type C port driver.
175
176What:		/sys/class/typec/<port>-partner/type
177Date:		December 2020
178Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
179Description:	USB Power Delivery Specification defines a set of product types
180		for the partner devices. This file will show the product type of
181		the partner if it is known. Dual-role capable partners will have
182		both UFP and DFP product types defined, but only one that
183		matches the current role will be active at the time. If the
184		product type of the partner is not visible to the device driver,
185		this file will not exist.
186
187		When the partner product type is detected, or changed with role
188		swap, uvevent is also raised that contains PRODUCT_TYPE=<product
189		type> (for example PRODUCT_TYPE=hub).
190
191		Valid values:
192
193		UFP / device role
194		======================  ==========================
195		undefined		-
196		hub			PDUSB Hub
197		peripheral		PDUSB Peripheral
198		psd			Power Bank
199		ama			Alternate Mode Adapter
200		======================  ==========================
201
202		DFP / host role
203		======================  ==========================
204		undefined		-
205		hub			PDUSB Hub
206		host			PDUSB Host
207		power_brick		Power Brick
208		amc			Alternate Mode Controller
209		======================  ==========================
210
211What:		/sys/class/typec/<port>-partner/identity/
212Date:		April 2017
213Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
214Description:
215		This directory appears only if the port device driver is capable
216		of showing the result of Discover Identity USB power delivery
217		command. That will not always be possible even when USB power
218		delivery is supported, for example when USB power delivery
219		communication for the port is mostly handled in firmware. If the
220		directory exists, it will have an attribute file for every VDO
221		in Discover Identity command result.
222
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
223USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
224
225Note: Electronically Marked Cables will have a device also for one cable plug
226(eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP
227Double Prime controller (USB Power Deliver specification ch. 2.4) it will have
228second device also for the other plug. Both plugs may have alternate modes as
229described in USB Type-C and USB Power Delivery specifications.
230
231What:		/sys/class/typec/<port>-cable/type
232Date:		April 2017
233Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
234Description:	USB Power Delivery Specification defines a set of product types
235		for the cables. This file will show the product type of the
236		cable if it is known. If the product type of the cable is not
237		visible to the device driver, this file will not exist.
238
239		When the cable product type is detected, uvevent is also raised
240		with PRODUCT_TYPE showing the product type of the cable.
241
242		Valid values:
243
244		======================  ==========================
245		undefined		-
246		active			Active Cable
247		passive			Passive Cable
248		======================  ==========================
249
250What:		/sys/class/typec/<port>-cable/plug_type
251Date:		April 2017
252Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
253Description:
254		Shows type of the plug on the cable:
255
256		- type-a - Standard A
257		- type-b - Standard B
258		- type-c
259		- captive
260
261What:		/sys/class/typec/<port>-<plug>/number_of_alternate_modes
262Date:		November 2020
263Contact:	Prashant Malani <pmalani@chromium.org>
264Description:
265		Shows the number of alternate modes which are advertised by the plug
266		associated with a particular cable during Power Delivery discovery.
267		This file remains hidden until a value greater than or equal to 0
268		is set by Type C port driver.
269
270
271USB Type-C partner/cable Power Delivery Identity objects
272
273NOTE: The following attributes will be applicable to both
274partner (e.g /sys/class/typec/port0-partner/) and
275cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
276paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
277reflect this.
278
279What:		/sys/class/typec/<port>-{partner|cable}/identity/
280Date:		April 2017
281Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
282Description:
283		This directory appears only if the port device driver is capable
284		of showing the result of Discover Identity USB power delivery
285		command. That will not always be possible even when USB power
286		delivery is supported, for example when USB power delivery
287		communication for the port is mostly handled in firmware. If the
288		directory exists, it will have an attribute file for every VDO
289		in Discover Identity command result.
290
291What:		/sys/class/typec/<port>-{partner|cable}/identity/id_header
292Date:		April 2017
293Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
294Description:
295		ID Header VDO part of Discover Identity command result. The
296		value will show 0 until Discover Identity command result becomes
297		available. The value can be polled.
298
299What:		/sys/class/typec/<port>-{partner|cable}/identity/cert_stat
300Date:		April 2017
301Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
302Description:
303		Cert Stat VDO part of Discover Identity command result. The
304		value will show 0 until Discover Identity command result becomes
305		available. The value can be polled.
306
307What:		/sys/class/typec/<port>-{partner|cable}/identity/product
308Date:		April 2017
309Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
310Description:
311		Product VDO part of Discover Identity command result. The value
312		will show 0 until Discover Identity command result becomes
313		available. The value can be polled.
314
315What:		/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo1
316Date:		October 2020
317Contact:	Prashant Malani <pmalani@chromium.org>
318Description:
319		1st Product Type VDO of Discover Identity command result.
320		The value will show 0 until Discover Identity command result becomes
321		available and a valid Product Type VDO is returned.
322
323What:		/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
324Date:		October 2020
325Contact:	Prashant Malani <pmalani@chromium.org>
326Description:
327		2nd Product Type VDO of Discover Identity command result.
328		The value will show 0 until Discover Identity command result becomes
329		available and a valid Product Type VDO is returned.
330
331What:		/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo3
332Date:		October 2020
333Contact:	Prashant Malani <pmalani@chromium.org>
334Description:
335		3rd Product Type VDO of Discover Identity command result.
336		The value will show 0 until Discover Identity command result becomes
337		available and a valid Product Type VDO is returned.
338
339
340USB Type-C port alternate mode devices.
341
342What:		/sys/class/typec/<port>/<alt mode>/supported_roles
343Date:		April 2017
344Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
345Description:
346		Space separated list of the supported roles.
347
348		Valid values: source, sink
v5.4
  1USB Type-C port devices (eg. /sys/class/typec/port0/)
  2
  3What:		/sys/class/typec/<port>/data_role
  4Date:		April 2017
  5Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
  6Description:
  7		The supported USB data roles. This attribute can be used for
  8		requesting data role swapping on the port. Swapping is supported
  9		as synchronous operation, so write(2) to the attribute will not
 10		return until the operation has finished. The attribute is
 11		notified about role changes so that poll(2) on the attribute
 12		wakes up. Change on the role will also generate uevent
 13		KOBJ_CHANGE on the port. The current role is show in brackets,
 14		for example "[host] device" when DRP port is in host mode.
 15
 16		Valid values: host, device
 17
 18What:		/sys/class/typec/<port>/power_role
 19Date:		April 2017
 20Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 21Description:
 22		The supported power roles. This attribute can be used to request
 23		power role swap on the port when the port supports USB Power
 24		Delivery. Swapping is supported as synchronous operation, so
 25		write(2) to the attribute will not return until the operation
 26		has finished. The attribute is notified about role changes so
 27		that poll(2) on the attribute wakes up. Change on the role will
 28		also generate uevent KOBJ_CHANGE. The current role is show in
 29		brackets, for example "[source] sink" when in source mode.
 30
 31		Valid values: source, sink
 32
 33What:           /sys/class/typec/<port>/port_type
 34Date:           May 2017
 35Contact:	Badhri Jagan Sridharan <Badhri@google.com>
 36Description:
 37		Indicates the type of the port. This attribute can be used for
 38		requesting a change in the port type. Port type change is
 39		supported as a synchronous operation, so write(2) to the
 40		attribute will not return until the operation has finished.
 41
 42		Valid values:
 43		- source (The port will behave as source only DFP port)
 44		- sink (The port will behave as sink only UFP port)
 45		- dual (The port will behave as dual-role-data and
 
 
 46			dual-role-power port)
 
 47
 48What:		/sys/class/typec/<port>/vconn_source
 49Date:		April 2017
 50Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 51Description:
 52		Shows is the port VCONN Source. This attribute can be used to
 53		request VCONN swap to change the VCONN Source during connection
 54		when both the port and the partner support USB Power Delivery.
 55		Swapping is supported as synchronous operation, so write(2) to
 56		the attribute will not return until the operation has finished.
 57		The attribute is notified about VCONN source changes so that
 58		poll(2) on the attribute wakes up. Change on VCONN source also
 59		generates uevent KOBJ_CHANGE.
 60
 61		Valid values:
 
 62		- "no" when the port is not the VCONN Source
 63		- "yes" when the port is the VCONN Source
 64
 65What:		/sys/class/typec/<port>/power_operation_mode
 66Date:		April 2017
 67Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 68Description:
 69		Shows the current power operational mode the port is in. The
 70		power operation mode means current level for VBUS. In case USB
 71		Power Delivery communication is used for negotiating the levels,
 72		power operation mode should show "usb_power_delivery".
 73
 74		Valid values:
 
 75		- default
 76		- 1.5A
 77		- 3.0A
 78		- usb_power_delivery
 79
 80What:		/sys/class/typec/<port>/preferred_role
 81Date:		April 2017
 82Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 83Description:
 84		The user space can notify the driver about the preferred role.
 85		It should be handled as enabling of Try.SRC or Try.SNK, as
 86		defined in USB Type-C specification, in the port drivers. By
 87		default the preferred role should come from the platform.
 88
 89		Valid values: source, sink, none (to remove preference)
 90
 91What:		/sys/class/typec/<port>/supported_accessory_modes
 92Date:		April 2017
 93Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
 94Description:
 95		Space separated list of accessory modes, defined in the USB
 96		Type-C specification, the port supports.
 97
 98What:		/sys/class/typec/<port>/usb_power_delivery_revision
 99Date:		April 2017
100Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
101Description:
102		Revision number of the supported USB Power Delivery
103		specification, or 0 when USB Power Delivery is not supported.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
105What:		/sys/class/typec/<port>/usb_typec_revision
106Date:		April 2017
107Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
108Description:
109		Revision number of the supported USB Type-C specification.
110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
112USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
113
114What:		/sys/class/typec/<port>-partner/accessory_mode
115Date:		April 2017
116Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
117Description:
118		Shows the Accessory Mode name when the partner is an Accessory.
119		The Accessory Modes are defined in USB Type-C Specification.
120
121What:		/sys/class/typec/<port>-partner/supports_usb_power_delivery
122Date:		April 2017
123Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
124Description:
125		Shows if the partner supports USB Power Delivery communication:
126		Valid values: yes, no
127
128What:		/sys/class/typec/<port>-partner>/identity/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129Date:		April 2017
130Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
131Description:
132		This directory appears only if the port device driver is capable
133		of showing the result of Discover Identity USB power delivery
134		command. That will not always be possible even when USB power
135		delivery is supported, for example when USB power delivery
136		communication for the port is mostly handled in firmware. If the
137		directory exists, it will have an attribute file for every VDO
138		in Discover Identity command result.
139
140What:		/sys/class/typec/<port>-partner/identity/id_header
141Date:		April 2017
142Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
143Description:
144		ID Header VDO part of Discover Identity command result. The
145		value will show 0 until Discover Identity command result becomes
146		available. The value can be polled.
147
148What:		/sys/class/typec/<port>-partner/identity/cert_stat
149Date:		April 2017
150Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
151Description:
152		Cert Stat VDO part of Discover Identity command result. The
153		value will show 0 until Discover Identity command result becomes
154		available. The value can be polled.
155
156What:		/sys/class/typec/<port>-partner/identity/product
157Date:		April 2017
158Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
159Description:
160		Product VDO part of Discover Identity command result. The value
161		will show 0 until Discover Identity command result becomes
162		available. The value can be polled.
163
164
165USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
166
167Note: Electronically Marked Cables will have a device also for one cable plug
168(eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP
169Double Prime controller (USB Power Deliver specification ch. 2.4) it will have
170second device also for the other plug. Both plugs may have alternate modes as
171described in USB Type-C and USB Power Delivery specifications.
172
173What:		/sys/class/typec/<port>-cable/type
174Date:		April 2017
175Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
176Description:
177		Shows if the cable is active.
178		Valid values: active, passive
 
 
 
 
 
 
 
 
 
 
 
 
179
180What:		/sys/class/typec/<port>-cable/plug_type
181Date:		April 2017
182Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
183Description:
184		Shows type of the plug on the cable:
 
185		- type-a - Standard A
186		- type-b - Standard B
187		- type-c
188		- captive
189
190What:		/sys/class/typec/<port>-cable/identity/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191Date:		April 2017
192Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
193Description:
194		This directory appears only if the port device driver is capable
195		of showing the result of Discover Identity USB power delivery
196		command. That will not always be possible even when USB power
197		delivery is supported. If the directory exists, it will have an
198		attribute for every VDO returned by Discover Identity command.
 
 
199
200What:		/sys/class/typec/<port>-cable/identity/id_header
201Date:		April 2017
202Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
203Description:
204		ID Header VDO part of Discover Identity command result. The
205		value will show 0 until Discover Identity command result becomes
206		available. The value can be polled.
207
208What:		/sys/class/typec/<port>-cable/identity/cert_stat
209Date:		April 2017
210Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
211Description:
212		Cert Stat VDO part of Discover Identity command result. The
213		value will show 0 until Discover Identity command result becomes
214		available. The value can be polled.
215
216What:		/sys/class/typec/<port>-cable/identity/product
217Date:		April 2017
218Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
219Description:
220		Product VDO part of Discover Identity command result. The value
221		will show 0 until Discover Identity command result becomes
222		available. The value can be polled.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
223
224
225USB Type-C port alternate mode devices.
226
227What:		/sys/class/typec/<port>/<alt mode>/supported_roles
228Date:		April 2017
229Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
230Description:
231		Space separated list of the supported roles.
232
233		Valid values: source, sink