Re: [PATCH 12/12] dt-bindings: usb: mtu3: remove optional pinctrls
From: Chunfeng Yun
Date: Sun Oct 08 2017 - 23:26:13 EST
On Thu, 2017-10-05 at 17:33 -0500, Rob Herring wrote:
> On Thu, Sep 28, 2017 at 08:17:20AM +0800, Chunfeng Yun wrote:
> > Remove optional pinctrls due to using FORCE/RG_IDDIG to implement
> > manual switch function.
>
> Another not backwards compatible change. Please explain why that is
> okay.
The old way of manual switch function uses the IDDIG pin (IDPIN) to
switch mode between device and host indirectly by pulling up or pulling
down it by driver. But there is a limitation, when the IDDIG pin is
connected to the ground, the driver can't pull it up anymore, so it will
fail when the receptacle is micro type.
And there is no such limitation through FORCE/RG_IDDIG, because when the
FORCE_IDDIG is set, the staus of RG_IDDIG is given higher priority than
IDDIG pin. So it is okay no matter whether id_float and id_ground pins
are provided or not.
>
> >
> > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx>
> > ---
> > .../devicetree/bindings/usb/mediatek,mtu3.txt | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt b/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
> > index 49c982b..b2271d8 100644
> > --- a/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
> > +++ b/Documentation/devicetree/bindings/usb/mediatek,mtu3.txt
> > @@ -30,9 +30,10 @@ Optional properties:
> > when supports dual-role mode.
> > - vbus-supply : reference to the VBUS regulator, needed when supports
> > dual-role mode.
> > - - pinctl-names : a pinctrl state named "default" must be defined,
> > - "id_float" and "id_ground" are optinal which depends on
> > - "mediatek,enable-manual-drd"
> > + - pinctrl-names : a pinctrl state named "default" is optional, and need be
> > + defined if auto drd switch is enabled, that means the property dr_mode
> > + is set as "otg", and meanwhile the property "mediatek,enable-manual-drd"
> > + is not set.
> > - pinctrl-0 : pin control group
> > See: Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
> >
> > --
> > 1.7.9.5
> >