Commit 0f37a607 authored by Heikki Krogerus's avatar Heikki Krogerus Committed by Greg Kroah-Hartman

usb: typec: Provide definitions for the USB modes

Defining the USB modes from the latest USB Power Delivery
Specification - USB 2.0, USB 3.2 and USB4 - as special modal
states just like the Accessory Modes.
Signed-off-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20191230142611.24921-14-heikki.krogerus@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 87e3daa0
...@@ -101,6 +101,22 @@ enum { ...@@ -101,6 +101,22 @@ enum {
TYPEC_MODE_DEBUG, /* Debug Accessory */ TYPEC_MODE_DEBUG, /* Debug Accessory */
}; };
/*
* USB4 also requires that the pins on the connector are repurposed, just like
* Alternate Modes. USB4 mode is however not entered with the Enter Mode Command
* like the Alternate Modes are, but instead with a special Enter_USB Message.
* The Enter_USB Message can also be used for setting to connector to operate in
* USB 3.2 or in USB 2.0 mode instead of USB4.
*
* The Enter_USB specific "USB Modes" are also supplied here as special modal
* state values, just like the Accessory Modes.
*/
enum {
TYPEC_MODE_USB2 = TYPEC_MODE_DEBUG, /* USB 2.0 mode */
TYPEC_MODE_USB3, /* USB 3.2 mode */
TYPEC_MODE_USB4 /* USB4 mode */
};
#define TYPEC_MODAL_STATE(_state_) ((_state_) + TYPEC_STATE_MODAL) #define TYPEC_MODAL_STATE(_state_) ((_state_) + TYPEC_STATE_MODAL)
struct typec_altmode *typec_altmode_get_plug(struct typec_altmode *altmode, struct typec_altmode *typec_altmode_get_plug(struct typec_altmode *altmode,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment