1.. _tcpc_api: 2 3USB Type-C Port Controller (TCPC) 4################################# 5 6Overview 7******** 8 9`TCPC <tcpc-specification_>`_ (USB Type-C Port Controller) 10The TCPC is a device used to simplify the implementation of a USB-C system 11by providing the following three function: 12 13* VBUS and VCONN control `USB Type-C <usb-type-c-specification_>`_: 14 The TCPC may provide a Source device, the mechanism to control VBUS sourcing, 15 and a Sink device, the mechanism to control VBUS sinking. A similar mechanism 16 is provided for the control of VCONN. 17 18* CC control and sensing: 19 The TCPC implements logic for controlling the CC pin pull-up and pull-down 20 resistors. It also provides a way to sense and report what resistors are 21 present on the CC pin. 22 23* Power Delivery message reception and transmission `USB Power Delivery <usb-pd-specification_>`_: 24 The TCPC sends and receives messages constructed in the TCPM and places them 25 on the CC lines. 26 27.. _tcpc-api: 28 29TCPC API 30======== 31 32The TCPC device driver functions as the liaison between the TCPC device and the 33application software; this is accomplished by the Zephyr's API provided by the 34device driver that's used to communicate with and control the TCPC device. 35 36Configuration Options 37********************* 38 39Related configuration options: 40 41* :kconfig:option:`CONFIG_USBC_TCPC_DRIVER` 42 43API Reference 44************* 45 46.. doxygengroup:: usb_type_c 47.. doxygengroup:: usb_type_c_port_controller_api 48.. doxygengroup:: usb_power_delivery 49 50.. _tcpc-specification: 51 https://www.usb.org/document-library/usb-type-cr-port-controller-interface-specification 52 53.. _usb-type-c-specification: 54 https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21 55 56.. _usb-pd-specification: 57 https://www.usb.org/document-library/usb-power-delivery 58