diff mbox

[v3,05/22] doc: dt-binding: usb: add otg related properties

Message ID 1434437532-23678-6-git-send-email-jun.li@freescale.com
State Superseded, archived
Headers show

Commit Message

Li Jun June 16, 2015, 6:51 a.m. UTC
Add otg version, srp, hnp and adp support for usb OTG port, then those OTG
features don't have to be decided by usb gadget drivers.

Signed-off-by: Li Jun <jun.li@freescale.com>
---
 Documentation/devicetree/bindings/usb/generic.txt | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Roger Quadros June 16, 2015, 8:21 a.m. UTC | #1
On Tue, 16 Jun 2015 14:51:55 +0800
Li Jun <jun.li@freescale.com> wrote:

> Add otg version, srp, hnp and adp support for usb OTG port, then those OTG
> features don't have to be decided by usb gadget drivers.
> 
> Signed-off-by: Li Jun <jun.li@freescale.com>
> ---
>  Documentation/devicetree/bindings/usb/generic.txt | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
> index 477d5bb..eb7308e 100644
> --- a/Documentation/devicetree/bindings/usb/generic.txt
> +++ b/Documentation/devicetree/bindings/usb/generic.txt
> @@ -11,6 +11,20 @@ Optional properties:
>  			"peripheral" and "otg". In case this attribute isn't
>  			passed via DT, USB DRD controllers should default to
>  			OTG.
> + - otg-rev: tells usb driver the release number of the OTG and EH supplement
> +			with which the device and its descriptors are compliant,
> +			in binary-coded decimal (i.e. 2.0 is 0200H). This
> +			property is used if any real OTG features(HNP/SRP/ADP)
> +			is enabled, also if ADP is enabled, otg-rev should be
> +			0x0200 or above.

How about saying "if ADP is required, otg-rev should be 0x0200 or above"

> + - hnp-disable: tells OTG controllers we want to disable OTG HNP, normally HNP
> +			is the basic function of real OTG except you want it
> +			to be a srp-capable only B device.
> + - srp-disable: tells OTG controllers we want to disable OTG SRP, SRP is
> +			optional for OTG device.
> + - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
> +			optional for OTG device, if not passed, otg-rev should
> +			be set to be 0x0200 or above.

Why should we place this constraint on DT? Isn't is better
to handle it automatically in the USB code?

Not specifying the disable flag doesn't mean that it has to be enabled.
It means that enable it if it can be. i.e. supported by OTG rev and controller.

>  
>  This is an attribute to a USB controller such as:
>  
> @@ -21,4 +35,8 @@ dwc3@4a030000 {
>  	usb-phy = <&usb2_phy>, <&usb3,phy>;
>  	maximum-speed = "super-speed";
>  	dr_mode = "otg";
> +	otg-rev = <0x0200>;
> +	hnp-disable;
> +	srp-disable;
> +	adp-disable;
>  };

How about a more real world example? We don't want hnp/srp disabled.

cheers,
-roger

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Li Jun June 16, 2015, 8:32 a.m. UTC | #2
On Tue, Jun 16, 2015 at 11:21:15AM +0300, Roger Quadros wrote:
> 
> On Tue, 16 Jun 2015 14:51:55 +0800
> Li Jun <jun.li@freescale.com> wrote:
> 
> > Add otg version, srp, hnp and adp support for usb OTG port, then those OTG
> > features don't have to be decided by usb gadget drivers.
> > 
> > Signed-off-by: Li Jun <jun.li@freescale.com>
> > ---
> >  Documentation/devicetree/bindings/usb/generic.txt | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
> > index 477d5bb..eb7308e 100644
> > --- a/Documentation/devicetree/bindings/usb/generic.txt
> > +++ b/Documentation/devicetree/bindings/usb/generic.txt
> > @@ -11,6 +11,20 @@ Optional properties:
> >  			"peripheral" and "otg". In case this attribute isn't
> >  			passed via DT, USB DRD controllers should default to
> >  			OTG.
> > + - otg-rev: tells usb driver the release number of the OTG and EH supplement
> > +			with which the device and its descriptors are compliant,
> > +			in binary-coded decimal (i.e. 2.0 is 0200H). This
> > +			property is used if any real OTG features(HNP/SRP/ADP)
> > +			is enabled, also if ADP is enabled, otg-rev should be
> > +			0x0200 or above.
> 
> How about saying "if ADP is required, otg-rev should be 0x0200 or above"
> 
okay.

> > + - hnp-disable: tells OTG controllers we want to disable OTG HNP, normally HNP
> > +			is the basic function of real OTG except you want it
> > +			to be a srp-capable only B device.
> > + - srp-disable: tells OTG controllers we want to disable OTG SRP, SRP is
> > +			optional for OTG device.
> > + - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
> > +			optional for OTG device, if not passed, otg-rev should
> > +			be set to be 0x0200 or above.
> 
> Why should we place this constraint on DT? Isn't is better
> to handle it automatically in the USB code?
> 
You are right, this can be done in USB code, I will remove this constraint
from it.

> Not specifying the disable flag doesn't mean that it has to be enabled.
> It means that enable it if it can be. i.e. supported by OTG rev and controller.
> 
Exactly.

> >  
> >  This is an attribute to a USB controller such as:
> >  
> > @@ -21,4 +35,8 @@ dwc3@4a030000 {
> >  	usb-phy = <&usb2_phy>, <&usb3,phy>;
> >  	maximum-speed = "super-speed";
> >  	dr_mode = "otg";
> > +	otg-rev = <0x0200>;
> > +	hnp-disable;
> > +	srp-disable;
> > +	adp-disable;
> >  };
> 
> How about a more real world example? We don't want hnp/srp disabled.
> 
My fault, actually it's a wrong example, I will update with a typical
setting as you pointed.

Li Jun
> cheers,
> -roger
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/usb/generic.txt b/Documentation/devicetree/bindings/usb/generic.txt
index 477d5bb..eb7308e 100644
--- a/Documentation/devicetree/bindings/usb/generic.txt
+++ b/Documentation/devicetree/bindings/usb/generic.txt
@@ -11,6 +11,20 @@  Optional properties:
 			"peripheral" and "otg". In case this attribute isn't
 			passed via DT, USB DRD controllers should default to
 			OTG.
+ - otg-rev: tells usb driver the release number of the OTG and EH supplement
+			with which the device and its descriptors are compliant,
+			in binary-coded decimal (i.e. 2.0 is 0200H). This
+			property is used if any real OTG features(HNP/SRP/ADP)
+			is enabled, also if ADP is enabled, otg-rev should be
+			0x0200 or above.
+ - hnp-disable: tells OTG controllers we want to disable OTG HNP, normally HNP
+			is the basic function of real OTG except you want it
+			to be a srp-capable only B device.
+ - srp-disable: tells OTG controllers we want to disable OTG SRP, SRP is
+			optional for OTG device.
+ - adp-disable: tells OTG controllers we want to disable OTG ADP, ADP is
+			optional for OTG device, if not passed, otg-rev should
+			be set to be 0x0200 or above.
 
 This is an attribute to a USB controller such as:
 
@@ -21,4 +35,8 @@  dwc3@4a030000 {
 	usb-phy = <&usb2_phy>, <&usb3,phy>;
 	maximum-speed = "super-speed";
 	dr_mode = "otg";
+	otg-rev = <0x0200>;
+	hnp-disable;
+	srp-disable;
+	adp-disable;
 };