Skip to content

Commit

Permalink
usb: typec: Improve Alt Mode documentation
Browse files Browse the repository at this point in the history
Adding the document to the usb index file and fixing a few
references. Also, exposing the code examples as "literal
blocks" so they are more easy to read.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Heikki Krogerus authored and Greg Kroah-Hartman committed Dec 19, 2018
1 parent 54578ee commit 28ce553
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
1 change: 1 addition & 0 deletions Documentation/driver-api/usb/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Linux USB API
dwc3
writing_musb_glue_layer
typec
typec_bus
usb3-debug-port

.. only:: subproject and html
Expand Down
1 change: 1 addition & 0 deletions Documentation/driver-api/usb/typec.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.. _typec:

USB Type-C connector class
==========================
Expand Down
24 changes: 12 additions & 12 deletions Documentation/driver-api/usb/typec_bus.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ every alternate mode, so every alternate mode will need a custom driver.
USB Type-C bus allows binding a driver to the discovered partner alternate
modes by using the SVID and the mode number.

USB Type-C Connector Class provides a device for every alternate mode a port
supports, and separate device for every alternate mode the partner supports.
The drivers for the alternate modes are bound to the partner alternate mode
devices, and the port alternate mode devices must be handled by the port
:ref:`USB Type-C Connector Class <typec>` provides a device for every alternate
mode a port supports, and separate device for every alternate mode the partner
supports. The drivers for the alternate modes are bound to the partner alternate
mode devices, and the port alternate mode devices must be handled by the port
drivers.

When a new partner alternate mode device is registered, it is linked to the
Expand Down Expand Up @@ -46,7 +46,7 @@ enter any modes on their own.
``->vdm`` is the most important callback in the operation callbacks vector. It
will be used to deliver all the SVID specific commands from the partner to the
alternate mode driver, and vice versa in case of port drivers. The drivers send
the SVID specific commands to each other using :c:func:`typec_altmode_vmd()`.
the SVID specific commands to each other using :c:func:`typec_altmode_vdm()`.

If the communication with the partner using the SVID specific commands results
in need to reconfigure the pins on the connector, the alternate mode driver
Expand All @@ -67,15 +67,15 @@ Type-C Specification, and also put the connector back to ``TYPEC_STATE_USB``
after the mode has been exited.

An example of working definitions for SVID specific pin configurations would
look like this:
look like this::

enum {
ALTMODEX_CONF_A = TYPEC_STATE_MODAL,
ALTMODEX_CONF_B,
...
};
enum {
ALTMODEX_CONF_A = TYPEC_STATE_MODAL,
ALTMODEX_CONF_B,
...
};

Helper macro ``TYPEC_MODAL_STATE()`` can also be used:
Helper macro ``TYPEC_MODAL_STATE()`` can also be used::

#define ALTMODEX_CONF_A = TYPEC_MODAL_STATE(0);
#define ALTMODEX_CONF_B = TYPEC_MODAL_STATE(1);
Expand Down

0 comments on commit 28ce553

Please sign in to comment.