staging: typec: USB Type-C Port Manager (tcpm)
authorGuenter Roeck <groeck@chromium.org>
Thu, 27 Apr 2017 21:09:56 +0000 (14:09 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Apr 2017 09:28:25 +0000 (11:28 +0200)
commitf0690a25a140b853b1842fa80faf828601bb47e8
tree124e49d0396b478d85bbd83f18a58dc5298d0b9d
parentd852ed98f62e0d44f594adb850b3d6cedb5c9292
staging: typec: USB Type-C Port Manager (tcpm)

This driver implements the USB Type-C Power Delivery state machine
for both source and sink ports. Alternate mode support is not
fully implemented.

The driver attaches to the USB Type-C class code implemented in
the following patches.

usb: typec: add driver for Intel Whiskey Cove PMIC USB Type-C PHY
usb: USB Type-C connector class

This driver only implements the state machine. Lower level drivers are
responsible for
- Reporting VBUS status and activating VBUS
- Setting CC lines and providing CC line status
- Setting line polarity
- Activating and deactivating VCONN
- Setting the current limit
- Activating and deactivating PD message transfers
- Sending and receiving PD messages

The driver provides both a functional API as well as callbacks for
lower level drivers.

Signed-off-by: Guenter Roeck <groeck@chromium.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/typec/Kconfig [new file with mode: 0644]
drivers/staging/typec/Makefile [new file with mode: 0644]
drivers/staging/typec/TODO [new file with mode: 0644]
drivers/staging/typec/pd.h [new file with mode: 0644]
drivers/staging/typec/pd_bdo.h [new file with mode: 0644]
drivers/staging/typec/pd_vdo.h [new file with mode: 0644]
drivers/staging/typec/tcpm.c [new file with mode: 0644]
drivers/staging/typec/tcpm.h [new file with mode: 0644]