Table of contents
TOC
Collapse the table of content
Expand the table of content

Hardware design: USB Type-C systems

Last Updated: 2/15/2017

Last Updated

  • December 2016

[Some information relates to pre-released product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.]

Here are some example designs for USB Type-C system.

A typical USB Type-C system has these components:

  • USB Dual-Role controller is capable of operating either in host role or in function/device/peripheral role. This component is integrated into SoC.
  • Battery Charging 1.2 detection might be integrated in certain SoCs. Some SoC vendors provide a PMIC module that implements detection logic, others implement in software. Windows 10 Mobile supports all those options. Contact your SoC vendor to get details about this component.
  • Type-C -PD Port controller manages CC pins on the USB Type-C connector. Supports BMC encoding/decoding of power delivery messages. This component is usually not integrated in most SoCs.
  • Mux SuperSpeed USB pairs to a port on the controller depending on the orientation detected by Type-C port controller. Mux SuperSpeed pairs and possibly SBU lines elsewhere (usually the Display module) when entering an alternate mode.
  • VBus/VConn source is required. Most PMICs implement VBus/VConn control. Contact your SoC/PMIC vendor for details.

USB Type-C system design with an embedded controller

In addition to the components in the preceding list, a USB Type-C system can have an embedded controller. This intelligent microcontroller that acts as the Type-C and Power Delivery policy manager for the system.

Here is an example of a USB Type-C system with an embedded controller:

usb type-c hardware design example for embedded controller devices

Here is another view:

usb type-c hardware design example for embedded controller devices

For a system that has an embedded controller, load the Microsoft provided in-box driver, UcmUcsi.sys, that implements USB Type-C Connector System Software Interface (UCSI) Specification.

UCSI driver. For information about the device stacks loaded for the driver, see Drivers for supporting USB Type-C components for systems with embedded controllers.

USB Type-C system design

Here is an example of a USB Type-C system for a mobile device that does not have an embedded controller:

usb type-c hardware design example for mobile devices

Here is another view:

usb type-c hardware design example device without an embedded controller

For the preceding design, implement a driver that communicates with the connector and keeps the operating system informed about USB Type-C events on the connector.

Write a USB Type-C connector driver

UCmCx client driver programming reference

Windows support for USB Type-C connectors

Send comments about this topic to Microsoft

© 2017 Microsoft