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

From: Heikki Krogerus
Date: Fri May 06 2016 - 04:08:53 EST


On Wed, May 04, 2016 at 08:05:44PM -0700, Guenter Roeck wrote:
> 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.

Interesting. So I'm guessing TCPM is actually an implementation USB PD
software stack, no? AFAIK FUSB302 has USB PD transceiver, right?

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

I don't have not made any new code for the class driver yet, but I'm
attempting to prepare v2 next week.