Re: [PATCH v4 3/6] dt-bindings: usb: mtu3: add properties about USB Role Switch

From: Rob Herring
Date: Mon Apr 29 2019 - 12:26:10 EST


On Sun, Apr 28, 2019 at 7:16 AM Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> wrote:
>
> On Fri, 2019-04-26 at 15:49 -0500, Rob Herring wrote:
> > On Fri, Apr 26, 2019 at 02:47:14PM +0800, Chunfeng Yun wrote:
> > > Now the USB Role Switch is supported, so add properties about it
> > >
> > > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
> > > ---
> > > v4: no changes
> > > v3: no changes
> > >
> > > v2 changes:
> > > 1. fix typo
> > > 2. refer new binding about connector property
> > > ---
> > > .../devicetree/bindings/usb/mediatek,mtu3.txt | 10 ++++++++--
> > > 1 file changed, 8 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt b/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
> > > index 3382b5cb471d..6e004c4a89af 100644
> > > --- a/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
> > > +++ b/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
> > > @@ -27,7 +27,9 @@ Optional properties:
> > > - ranges : allows valid 1:1 translation between child's address space and
> > > parent's address space
> > > - extcon : external connector for vbus and idpin changes detection, needed
> > > - when supports dual-role mode.
> > > + when supports dual-role mode; it's consiedered valid for compatibility
> > > + reasons, and not allowed for new bindings, use the property
> > > + usb-role-switch instead.
> > > - vbus-supply : reference to the VBUS regulator, needed when supports
> > > dual-role mode.
> > > - pinctrl-names : a pinctrl state named "default" is optional, and need be
> > > @@ -36,7 +38,8 @@ Optional properties:
> > > is not set.
> > > - pinctrl-0 : pin control group
> > > See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> > > -
> > > + - usb-role-switch : use USB Role Switch to support dual-role switch, but
> > > + not extcon
> >
> > Coordinate with the Renesas and HiSilicon folks implementing the same
> > thing and put this in a common spot.
> I'll prepare a patch for it, and CC Biju and Yu
>
> > However, I think this should not
> > even be needed as knowing the controller capabilities (based on the
> > compatible) and knowing the type of connector should be enough
> > information to tell you if dual role is supported or not.
> Some Dual-Role controller drivers already used extcon framework to
> handle role switch, if try to support the new USB Role Switch framework,
> the driver may want to know which way will be used.

Wouldn't it know by presence of 'extcon' property or not?

> Sometimes users also want to use dual-role even use the type-A, such as
> use sys interface to handle role switch, so only knowing the connector
> type can't tell driver which way to use

That use case doesn't sound like something that should be in DT
though. That would be possible for any controller that supports
dual-role. Though perhaps that requires some specific Vbus wiring? Or
a cable with Vbus disconnected. Either way, doesn't sound USB
compliant.

Rob