diff mbox series

[v2] dt-binding: usb: add usb-role-switch property

Message ID 38ff51264e971d5c58940c8435b9d8d274662d50.1557195204.git.chunfeng.yun@mediatek.com (mailing list archive)
State New, archived
Headers show
Series [v2] dt-binding: usb: add usb-role-switch property | expand

Commit Message

Chunfeng Yun (云春峰) May 7, 2019, 2:22 a.m. UTC
Add a property usb-role-switch to tell Dual-Role controller driver
that use USB Role Switch framework to handle the role switch between
host mode and device mode, it's useful when the driver has already
supported other ways, such as extcon framework etc.

Cc: Biju Das <biju.das@bp.renesas.com>
Cc: Yu Chen <chenyu56@huawei.com>
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
---
v2:
    describe it in terms of h/w functionality suggested by Rob

v1:
    the property is discussed in:
    [v2,2/7] dt-bindings: usb: renesas_usb3: add usb-role-switch property
    https://patchwork.kernel.org/patch/10852497/

    Mediatek and Hisilicon also try to use it:
    [v4,3/6] dt-bindings: usb: mtu3: add properties about USB Role Switch
    https://patchwork.kernel.org/patch/10918385/
    [v4,6/6] usb: mtu3: register a USB Role Switch for dual role mode
    https://patchwork.kernel.org/patch/10918367/

    [v6,10/13] usb: dwc3: Registering a role switch in the DRD code
    https://patchwork.kernel.org/patch/10909981/
---
 Documentation/devicetree/bindings/usb/generic.txt | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Heikki Krogerus May 7, 2019, 2:13 p.m. UTC | #1
On Tue, May 07, 2019 at 10:22:58AM +0800, Chunfeng Yun wrote:
> diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
> index 0a74ab8dfdc2..f5a6ad053ecc 100644
> --- a/Documentation/devicetree/bindings/usb/generic.txt
> +++ b/Documentation/devicetree/bindings/usb/generic.txt
> @@ -30,6 +30,11 @@ Optional properties:
>  			optional for OTG device.
>   - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
>  			optional for OTG device.
> + - usb-role-switch: tells Dual-Role USB controllers we want to handle the role
> +			switch between host and device according to the state
> +			detected by the USB connector, typically for Type-C,
> +			Type-B(micro).
> +			see connector/usb-connector.txt.

That does not look correct to me. Firstly, USB role switches are not
always dual-role USB controllers. Secondly, stating what determines
the role irrelevant IMO.

Since this is a boolean property, the description for it should simply
explain what does it tell about the capabilities of the device that
has it. The description should not make any assumptions about the
users of the property, and since the property is a "generic" USB
property, I'm not sure it should make any assumptions about the type
of the device that has the property either. Also, I would really like
the description to show the type of the property.

Why not just say something like this:

"Boolean property informing that the device is capable of assigning
the USB data role (USB host or USB device) for a given USB connector."


thanks,
Chunfeng Yun (云春峰) May 8, 2019, 6:26 a.m. UTC | #2
On Tue, 2019-05-07 at 17:13 +0300, Heikki Krogerus wrote:
> On Tue, May 07, 2019 at 10:22:58AM +0800, Chunfeng Yun wrote:
> > diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
> > index 0a74ab8dfdc2..f5a6ad053ecc 100644
> > --- a/Documentation/devicetree/bindings/usb/generic.txt
> > +++ b/Documentation/devicetree/bindings/usb/generic.txt
> > @@ -30,6 +30,11 @@ Optional properties:
> >  			optional for OTG device.
> >   - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
> >  			optional for OTG device.
> > + - usb-role-switch: tells Dual-Role USB controllers we want to handle the role
> > +			switch between host and device according to the state
> > +			detected by the USB connector, typically for Type-C,
> > +			Type-B(micro).
> > +			see connector/usb-connector.txt.
> 
> That does not look correct to me. Firstly, USB role switches are not
> always dual-role USB controllers. 
Thanks for review, I look through some drivers, you are right, some phys
also switch the roles.

> Secondly, stating what determines
> the role irrelevant IMO.
> 
> Since this is a boolean property, the description for it should simply
> explain what does it tell about the capabilities of the device that
> has it. The description should not make any assumptions about the
> users of the property, and since the property is a "generic" USB
> property, I'm not sure it should make any assumptions about the type
> of the device that has the property either. Also, I would really like
> the description to show the type of the property.
Ok I'll add it.

> 
> Why not just say something like this:
> 
> "Boolean property informing that the device is capable of assigning
> the USB data role (USB host or USB device) for a given USB connector."
will modify it.

> 
> 
> thanks,
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
index 0a74ab8dfdc2..f5a6ad053ecc 100644
--- a/Documentation/devicetree/bindings/usb/generic.txt
+++ b/Documentation/devicetree/bindings/usb/generic.txt
@@ -30,6 +30,11 @@  Optional properties:
 			optional for OTG device.
  - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
 			optional for OTG device.
+ - usb-role-switch: tells Dual-Role USB controllers we want to handle the role
+			switch between host and device according to the state
+			detected by the USB connector, typically for Type-C,
+			Type-B(micro).
+			see connector/usb-connector.txt.
 
 This is an attribute to a USB controller such as: