Zephyr EC USBC Configuration

Overview

USB-C is a flexible connector supporting multiple data rates, protocols, and power in either direction.

From the system, USB PD requires a complex state machine as USB PD can operate in many different modes. This includes but isn't limited to:

  • Negotiated power contracts. Either side of the cable can source or sink power up to 240W (if supported by device).
  • Reversed cable mode. This requires a mux to switch the signals before getting to the SoC (or AP).
  • Debug accessory mode, e.g. [Case Closed Debugging (CCD)]
  • Multiple uses for the 4 differential pair signals including
    • USB SuperSpeed mode (up to 4 lanes for USB data)
    • DisplayPort Alternate Mode (up to 4 lanes for DisplayPort data)
    • Dock Mode (2 lanes for USB data, and 2 lanes for DisplayPort)
    • USB4/Thunderbolt mode. (4 lanes for USB data)

For a more complete list of USB-C Power Delivery features, see the USB-C PD spec.

The image below shows a block diagram of a typical USB-C setup.

USBC Block Diagram

Legend

See the EC Acronyms and Technologies

Kconfig Options

The CONFIG_PLATFORM_EC_USBC option enables USB-C support on the Chromebook. See Kconfig.usbc for sub-options related to this feature.

The following sub-components must be configured for correct operation of USB-C: