USB Type-C Port Manager Coming To Linux 4.12
The "TCPM" driver is queued as a new staging driver via usb-next for entering the Linux 4.12 kernel in the next two weeks. This USB Type-C Port Manager driver implements a power delivery state machine for source/sink ports. This driver serves as a state machine while other USB Type-C drivers are responsible for the rest of the functionality.
Basically the TCPM driver is responsible for managing the role of each USB Type-C port on the system depending upon the connected device.
More details on this queued USB Type-C Port Manager driver for Linux 4.12 via this Git commit.