[Feature]USB Type-C Enabling for Broxton-P
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
intel |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
With USB Type-C the OS needs to be able to switch the USB data role between host mode and device mode. This is because USB Type-C connection will select the role randomly.
Our implementation will expose an "extcon" (external connector class) device to the OS that can be used for the role switching. The USB Type-C ports on BXT are controlled via UCSI (USB Type-C System Software Interface). We will implement support for UCSI in this task. The UCSI will be implemented as a "library" inside kernel. The actual UCSI device on BXT is ACPI enumerated device, so we will implement driver for it. This driver will simply "register" itself with the library that will do the rest. The "library" approach is used because UCSI does not specify the actual bus (I2C, SPI, etc.) that is used to interface with the Type-C ports. It only specifies the data structures. That means that even though on BXT we have ACPI enumerate device for the UCSI interface, on future platforms it may be something else like PCI enumerate device
UCSI is published in http://
HW: Apollo Lake
Scheduler:
Kernel: 4.7
description: | updated |
This is implemented in 4.7 kernel by:
0c1849a usb: Add driver for UCSI