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. Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html