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

2 messages, 2 authors, 2015-06-16 · open the first message on its own page

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

From: Roger Quadros <hidden>
Date: 2015-06-16 08:21:15

On Tue, 16 Jun 2015 14:51:55 +0800
Li Jun [off-list ref] wrote:
quoted hunk
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 <redacted>
---
 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.
quoted hunk
 
 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 linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

From: Li Jun <hidden>
Date: 2015-06-16 08:32:27

On Tue, Jun 16, 2015 at 11:21:15AM +0300, Roger Quadros wrote:
On Tue, 16 Jun 2015 14:51:55 +0800
Li Jun [off-list ref] wrote:
quoted
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 <redacted>
---
 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.
quoted
+ - 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.
quoted
 
 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 linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help