doc: drivers: tcpc: Add USB TCPC API documentation

This commit adds documentation for the
USB Type-C Port Controller (TCPC) APIs.

Signed-off-by: Sam Hurst <sbh1187@gmail.com>
This commit is contained in:
Sam Hurst 2022-02-18 09:47:35 -08:00 committed by Carles Cufí
commit 735c10882f
3 changed files with 63 additions and 0 deletions

View file

@ -287,6 +287,11 @@ current :ref:`stability level <api_lifecycle>`.
- 2.5
- 2.5
* - :ref:`tcpc_api`
- Experimental
- 3.1
- 3.1
* - :ref:`uart_api`
- Stable
- 1.0

View file

@ -32,6 +32,7 @@ Peripherals
rtc.rst
sensor.rst
spi.rst
tcpc.rst
uart.rst
mdio.rst
watchdog.rst

View file

@ -0,0 +1,57 @@
.. _tcpc_api:
TCPC
####
Overview
********
`TCPC <tcpc-specification>`_ (USB Type-C Port Controller)
The TCPC is a device used to simplify the implementation of a USB-C system
by providing the following three function:
* VBUS and VCONN control `USB Type-C <usb-type-c-specification>`_:
The TCPC may provide a Source device, the mechanism to control VBUS sourcing,
and a Sink device, the mechanism to control VBUS sinking. A similar mechanism
is provided for the control of VCONN.
* CC control and sensing:
The TCPC implements logic for controlling the CC pin pull-up and pull-down
resistors. It also provides a way to sense and report what resistors are
present on the CC pin.
* Power Delivery message reception and transmission `USB Power Delivery <usb-pd-specification>`_:
The TCPC sends and receives messages constructed in the TCPM and places them
on the CC lines.
.. _tcpc-api:
TCPC API
========
The TCPC device driver functions as the liaison between the TCPC device and the
application software; this is accomplished by the Zephyr's API provided by the
device driver that's used to communicate with and control the TCPC device.
Configuration Options
*********************
Related configuration options:
* :kconfig:option:`CONFIG_USBC_TCPC_DRIVER`
API Reference
*************
.. doxygengroup:: usb_type_c
.. doxygengroup:: usb_type_c_port_controller_api
.. doxygengroup:: usb_power_delivery
.. _tcpc-specification:
https://www.usb.org/document-library/usb-type-cr-port-controller-interface-specification
.. _usb-type-c-specification:
https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21
.. _usb-pd-specification:
https://www.usb.org/document-library/usb-power-delivery