From: Peter Chen <hzpeterchen@gmail.com>
To: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Lu Baolu <baolu.lu@linux.intel.com>,
felipe.balbi@linux.intel.com,
Mathias Nyman <mathias.nyman@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Lee Jones <lee.jones@linaro.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
Roger Quadros <rogerq@ti.com>
Subject: Re: [PATCH v10 2/7] usb: mux: add generic code for dual role port mux
Date: Fri, 3 Jun 2016 17:20:40 +0800 [thread overview]
Message-ID: <20160603092039.GA24714@shlinux2> (raw)
In-Reply-To: <20160603081632.GA6305@kuha.fi.intel.com>
On Fri, Jun 03, 2016 at 11:16:32AM +0300, Heikki Krogerus wrote:
> On Fri, Jun 03, 2016 at 03:41:13PM +0800, Peter Chen wrote:
> > On Thu, Jun 02, 2016 at 09:37:24AM +0800, Lu Baolu wrote:
> > > Several Intel platforms implement USB dual role by having completely
> > > separate xHCI and dwc3 IPs in PCH or SOC silicons. These two IPs share
> > > a single USB port. There is another external port mux which controls
> > > where the data lines should go. While the USB controllers are part of
> > > the silicon, the port mux design are platform specific.
> > >
> > > This patch adds the generic code to handle such multiple roles of a
> > > usb port. It exports the necessary interfaces for other components to
> > > register or unregister a usb mux device, and to control its role.
> > > It registers the mux device with sysfs as well, so that users are able
> > > to control the port role from user space.
> > >
> > > Some other archs (e.g. Renesas R-Car gen2 SoCs) need an external mux to
> > > swap usb roles as well. This code could also be leveraged for those archs.
> > >
> >
> > Sorry to review this so late, from my point, it is a dual-role switch
> > driver too, we are reviewing USB OTG/dual-role framework [1], it is
> > not necessary to create another framework to do it. And USB OTG framework
> > has already tested at Renesas's platform [2].
> >
> > [1] http://www.spinics.net/lists/linux-usb/msg140835.html
> > [2] http://www.spinics.net/lists/linux-usb/msg140827.html
>
> We really can't marry dual-role capability with OTG. That OTG
> framework can be used be when the hardware actually supports the
> protocols defined in the OTG spec starting from SRP. In other cases it
> must not be used.
>
> OTG relies heavily on existence of the ID pin, but with Type-C
> connectors we do not have it. Therefore USB Type-C defines competing
> support for example for the role swapping. With USB Type-C connectors
> OTG will never be supported.
>
> So let's not mix USB dual-role capability with OTG.
>
Well, DRD/OTG framework is mainly used for dual-role switch, no
matter what input is, you can use id pin, sysfs, or Type-C events.
It is long term target, currently, it only supports id pin.
In future, we can expend it to support more input events.
Microsoft also has similar framework for it:
https://msdn.microsoft.com/en-us/library/windows/hardware/dn957036(v=vs.85).aspx
--
Best Regards,
Peter Chen
next prev parent reply other threads:[~2016-06-03 9:26 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-02 1:37 [PATCH v10 0/7] usb: add support for Intel dual role port mux Lu Baolu
2016-06-02 1:37 ` [PATCH v10 1/7] regulator: fixed: add support for ACPI interface Lu Baolu
2016-06-08 4:42 ` Greg Kroah-Hartman
2016-06-08 13:43 ` Mark Brown
2016-06-08 15:46 ` Greg Kroah-Hartman
2016-06-09 2:43 ` Lu Baolu
2016-06-02 1:37 ` [PATCH v10 2/7] usb: mux: add generic code for dual role port mux Lu Baolu
2016-06-03 7:41 ` Peter Chen
2016-06-03 8:16 ` Heikki Krogerus
2016-06-03 9:20 ` Peter Chen [this message]
2016-06-03 16:06 ` Lu Baolu
2016-06-04 2:28 ` Peter Chen
2016-06-05 6:55 ` Lu Baolu
2016-06-05 8:33 ` Jun Li
2016-06-05 8:46 ` Lu Baolu
2016-06-06 1:08 ` Jun Li
2016-06-06 2:30 ` Lu Baolu
2016-06-06 2:05 ` Peter Chen
2016-06-06 2:45 ` Lu Baolu
2016-06-06 6:48 ` Peter Chen
2016-06-06 1:25 ` Peter Chen
2016-06-06 3:04 ` Lu Baolu
2016-06-06 7:02 ` Roger Quadros
2016-06-07 3:03 ` Jun Li
2016-06-07 6:27 ` Lu Baolu
2016-06-07 6:34 ` Jun Li
2016-06-07 9:27 ` Lu Baolu
2016-06-07 12:49 ` Roger Quadros
2016-06-07 9:53 ` Lu Baolu
2016-06-07 12:58 ` Roger Quadros
2016-06-07 13:04 ` Felipe Balbi
2016-06-07 14:02 ` Roger Quadros
2016-06-07 15:05 ` Felipe Balbi
2016-06-08 3:04 ` Jun Li
[not found] ` <5757A8CB.90402@linux.intel.com>
2016-06-08 6:20 ` Jun Li
2016-06-08 6:25 ` Peter Chen
2016-06-08 7:58 ` Roger Quadros
2016-06-06 7:02 ` Peter Chen
2016-06-06 7:35 ` Lu Baolu
2016-06-02 1:37 ` [PATCH v10 3/7] usb: mux: add driver for Intel gpio controlled " Lu Baolu
2016-06-02 1:37 ` [PATCH v10 4/7] usb: mux: add driver for Intel drcfg " Lu Baolu
2016-06-02 1:37 ` [PATCH v10 5/7] mfd: intel_vuport: Add Intel virtual USB port MFD Driver Lu Baolu
2016-06-02 1:37 ` [PATCH v10 6/7] usb: pci-quirks: add Intel USB drcfg mux device Lu Baolu
2016-06-08 4:45 ` Greg Kroah-Hartman
2016-06-08 7:56 ` Lu Baolu
2016-06-08 15:45 ` Greg Kroah-Hartman
2016-06-09 2:39 ` Lu Baolu
2016-06-16 0:27 ` Lu Baolu
2016-06-18 0:58 ` Greg Kroah-Hartman
2016-06-19 9:52 ` Lu Baolu
2016-06-02 1:37 ` [PATCH v10 7/7] MAINTAINERS: add maintainer entry for Intel USB dual role mux drivers Lu Baolu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160603092039.GA24714@shlinux2 \
--to=hzpeterchen@gmail.com \
--cc=baolu.lu@linux.intel.com \
--cc=broonie@kernel.org \
--cc=felipe.balbi@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=lee.jones@linaro.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=rogerq@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).