cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sysfs-class-typec (13015B)


      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
    144USB Type-C partner devices (eg. /sys/class/typec/port0-partner/)
    145
    146What:		/sys/class/typec/<port>-partner/accessory_mode
    147Date:		April 2017
    148Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    149Description:
    150		Shows the Accessory Mode name when the partner is an Accessory.
    151		The Accessory Modes are defined in USB Type-C Specification.
    152
    153What:		/sys/class/typec/<port>-partner/supports_usb_power_delivery
    154Date:		April 2017
    155Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    156Description:
    157		Shows if the partner supports USB Power Delivery communication:
    158		Valid values: yes, no
    159
    160What:		/sys/class/typec/<port>-partner/number_of_alternate_modes
    161Date:		November 2020
    162Contact:	Prashant Malani <pmalani@chromium.org>
    163Description:
    164		Shows the number of alternate modes which are advertised by the partner
    165		during Power Delivery discovery. This file remains hidden until a value
    166		greater than or equal to 0 is set by Type C port driver.
    167
    168What:		/sys/class/typec/<port>-partner/type
    169Date:		December 2020
    170Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    171Description:	USB Power Delivery Specification defines a set of product types
    172		for the partner devices. This file will show the product type of
    173		the partner if it is known. Dual-role capable partners will have
    174		both UFP and DFP product types defined, but only one that
    175		matches the current role will be active at the time. If the
    176		product type of the partner is not visible to the device driver,
    177		this file will not exist.
    178
    179		When the partner product type is detected, or changed with role
    180		swap, uvevent is also raised that contains PRODUCT_TYPE=<product
    181		type> (for example PRODUCT_TYPE=hub).
    182
    183		Valid values:
    184
    185		UFP / device role
    186		======================  ==========================
    187		undefined		-
    188		hub			PDUSB Hub
    189		peripheral		PDUSB Peripheral
    190		psd			Power Bank
    191		ama			Alternate Mode Adapter
    192		======================  ==========================
    193
    194		DFP / host role
    195		======================  ==========================
    196		undefined		-
    197		hub			PDUSB Hub
    198		host			PDUSB Host
    199		power_brick		Power Brick
    200		amc			Alternate Mode Controller
    201		======================  ==========================
    202
    203What:		/sys/class/typec/<port>-partner/identity/
    204Date:		April 2017
    205Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    206Description:
    207		This directory appears only if the port device driver is capable
    208		of showing the result of Discover Identity USB power delivery
    209		command. That will not always be possible even when USB power
    210		delivery is supported, for example when USB power delivery
    211		communication for the port is mostly handled in firmware. If the
    212		directory exists, it will have an attribute file for every VDO
    213		in Discover Identity command result.
    214
    215USB Type-C cable devices (eg. /sys/class/typec/port0-cable/)
    216
    217Note: Electronically Marked Cables will have a device also for one cable plug
    218(eg. /sys/class/typec/port0-plug0). If the cable is active and has also SOP
    219Double Prime controller (USB Power Deliver specification ch. 2.4) it will have
    220second device also for the other plug. Both plugs may have alternate modes as
    221described in USB Type-C and USB Power Delivery specifications.
    222
    223What:		/sys/class/typec/<port>-cable/type
    224Date:		April 2017
    225Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    226Description:	USB Power Delivery Specification defines a set of product types
    227		for the cables. This file will show the product type of the
    228		cable if it is known. If the product type of the cable is not
    229		visible to the device driver, this file will not exist.
    230
    231		When the cable product type is detected, uvevent is also raised
    232		with PRODUCT_TYPE showing the product type of the cable.
    233
    234		Valid values:
    235
    236		======================  ==========================
    237		undefined		-
    238		active			Active Cable
    239		passive			Passive Cable
    240		======================  ==========================
    241
    242What:		/sys/class/typec/<port>-cable/plug_type
    243Date:		April 2017
    244Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    245Description:
    246		Shows type of the plug on the cable:
    247
    248		- type-a - Standard A
    249		- type-b - Standard B
    250		- type-c
    251		- captive
    252
    253What:		/sys/class/typec/<port>-<plug>/number_of_alternate_modes
    254Date:		November 2020
    255Contact:	Prashant Malani <pmalani@chromium.org>
    256Description:
    257		Shows the number of alternate modes which are advertised by the plug
    258		associated with a particular cable during Power Delivery discovery.
    259		This file remains hidden until a value greater than or equal to 0
    260		is set by Type C port driver.
    261
    262
    263USB Type-C partner/cable Power Delivery Identity objects
    264
    265NOTE: The following attributes will be applicable to both
    266partner (e.g /sys/class/typec/port0-partner/) and
    267cable (e.g /sys/class/typec/port0-cable/) devices. Consequently, the example file
    268paths below are prefixed with "/sys/class/typec/<port>-{partner|cable}/" to
    269reflect this.
    270
    271What:		/sys/class/typec/<port>-{partner|cable}/identity/
    272Date:		April 2017
    273Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    274Description:
    275		This directory appears only if the port device driver is capable
    276		of showing the result of Discover Identity USB power delivery
    277		command. That will not always be possible even when USB power
    278		delivery is supported, for example when USB power delivery
    279		communication for the port is mostly handled in firmware. If the
    280		directory exists, it will have an attribute file for every VDO
    281		in Discover Identity command result.
    282
    283What:		/sys/class/typec/<port>-{partner|cable}/identity/id_header
    284Date:		April 2017
    285Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    286Description:
    287		ID Header VDO part of Discover Identity command result. The
    288		value will show 0 until Discover Identity command result becomes
    289		available. The value can be polled.
    290
    291What:		/sys/class/typec/<port>-{partner|cable}/identity/cert_stat
    292Date:		April 2017
    293Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    294Description:
    295		Cert Stat 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/product
    300Date:		April 2017
    301Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    302Description:
    303		Product VDO part of Discover Identity command result. The value
    304		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_type_vdo1
    308Date:		October 2020
    309Contact:	Prashant Malani <pmalani@chromium.org>
    310Description:
    311		1st Product Type VDO of Discover Identity command result.
    312		The value will show 0 until Discover Identity command result becomes
    313		available and a valid Product Type VDO is returned.
    314
    315What:		/sys/class/typec/<port>-{partner|cable}/identity/product_type_vdo2
    316Date:		October 2020
    317Contact:	Prashant Malani <pmalani@chromium.org>
    318Description:
    319		2nd 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_vdo3
    324Date:		October 2020
    325Contact:	Prashant Malani <pmalani@chromium.org>
    326Description:
    327		3rd 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
    331
    332USB Type-C port alternate mode devices.
    333
    334What:		/sys/class/typec/<port>/<alt mode>/supported_roles
    335Date:		April 2017
    336Contact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
    337Description:
    338		Space separated list of the supported roles.
    339
    340		Valid values: source, sink