Re: [PATCH 0/3] usb: USB Type-C Class and driver for UCSI

From: Guenter Roeck
Date: Wed May 04 2016 - 23:05:57 EST

On Tue, Feb 09, 2016 at 07:01:20PM +0200, Heikki Krogerus wrote:
> Hi,
> The OS, or more precisely the user space, needs to be able to control
> a few things regarding USB Type-C ports. The first thing that must be
> allowed to be controlled is the data role. USB Type-C ports will
> select the data role randomly with DRP ports. When USB PD is
> supported, also independent (from data role) power role swapping can
> be supported together with Alternate Mode control.
> I'm proposing with this set a Class for the Type-C connectors that
> gives the user space control over those things on top of getting basic
> details about the USB Type-C connectors and also partners. The details
> include the capabilities of the port, the supported data and power
> roles, supported accessories (audio and debug), supported Alternate
> Modes, USB PD support and of course the type of the partner (USB, Alt
> Mode, Accessory or Charger), and more or less the same details about
> the partner.
> I'm not considering cables with this Class, and I have deliberately
> left out some more technical details, like cable orientation, firstly
> because I did not see much use for the user space from knowing that
> an secondly because that kind of details are not always available for
> example with UCSI.
> So the interface to the user space is kept as simple as I dared to
> make it.
> NOTE: In case there is somebody wondering, this is not adding USB PD
> support to Linux kernel. This is just about USB Type-C.

Hello Heikki,

we have implemented a prototype TCPM (USB Type-C Protocol Manager)
software on top of your patch set. It will support TCPCI as well
as other USB-C controllers such as FUSB302. The plan is to use
this software in systems where no separate controller is available.

Is there any chance to advance this patch set ? It would be instrumental
to get a unified interface to user space.