[PATCH 13/34] usb: dwc3: omap: fix dwc3 binding match table

Felipe Balbi balbi at ti.com
Thu Nov 24 22:02:15 EST 2011


From: Sebastian Andrzej Siewior <bigeasy at linutronix.de>

Trivial patch, no functional changes.

[ balbi at ti.com : fixed up Documentation based on what
	we actually want to achieve ]

Signed-off-by: Felipe Balbi <balbi at ti.com>
---
 Documentation/devicetree/bindings/usb/dwc3.txt |   66 ++++++++++++++++++++++++
 drivers/usb/dwc3/dwc3-omap.c                   |   11 +++--
 2 files changed, 73 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt

diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
new file mode 100644
index 0000000..c936863
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -0,0 +1,66 @@
+Synopsys DesignWareCores SuperSpeed USB 3.0 Controller
+
+The device node for a USB3 Wrapper that is part of an OMAP5 SoC is as described
+in the document "Open Firmware Recommended Practice: Universal Serial Bus" with
+the following modifications and additions:
+
+Required properties:
+	- compatible : should be "ti,omap5-dwc3" or "ti,omap5430-dwc3".
+	- reg : the first address and length contains the address of DRD. The
+		second address and length contains the address of the wrapper.
+	- interrupts : < a b > where 'a' is the interrupt number and 'b' is a
+		field that represents an encoding of the sense and level
+		information for the interrupt line.
+	- child device : The child Synopsys DesignWareCore USB 3.0 DRD Controller
+
+Optional properties:
+	- utmi_mode : UTMI mode of the wrapper Interrupts (SW or HW). Refer to
+		OMAP5 TRM for more details (for TI wrapper only)
+
+Example of hardware mode OMAP5:
+
+	usb at 4a020000 {
+		#address-cells = < 1 >;
+		#size-cells = < 1 >;
+		compatible = "ti,omap5430-dwc3", "ti,omap5-dwc3";
+		interrupt-parent = < &intc >;
+		interrupts = < 93 4 >;
+		reg = < 0x4a020000 0x10000 >;
+		utmi_mode = "hardware";
+		range;
+
+		usb at 4a030000 {
+			#address-cells = < 3 >;
+			#size-cells = < 3 >;
+			compatible = "synopsys,dwc3";
+			interrupt-parent = < &intc >;
+			interupts = < 92 4 >;
+			reg = <	0x4a030000 0x8000       // First address is xHCI
+				0x4a03c100 0x600        // Second is Global
+				0x4a03c700 0x500 >;     // Third is Device
+		};
+	};
+
+Example of software mode OMAP5:
+
+	usb at 4a020000 {
+		#address-cells = < 1 >;
+		#size-cells = < 1 >;
+		compatible = "ti,omap5430-dwc3", "ti,omap5-dwc3";
+		interrupt-parent = < &intc >;
+		interrupts = < 93 4 >;
+		reg = < 0x4a020000 0x10000 ;
+		utmi_mode = "software";
+		range;
+
+		usb at 4a030000 {
+			#address-cells = < 3 >;
+			#size-cells = < 3 >;
+			compatible = "synopsys,dwc3";
+			interrupt-parent = < &intc >;
+			interupts = < 92 4 >;
+			reg = <	0x4a030000 0x8000       // First address is xHCI
+				0x4a03c100 0x600        // Second is Global
+				0x4a03c700 0x500 >;     // Third is Device
+		};
+	};
diff --git a/drivers/usb/dwc3/dwc3-omap.c b/drivers/usb/dwc3/dwc3-omap.c
index 7bcf677..c9f3e61 100644
--- a/drivers/usb/dwc3/dwc3-omap.c
+++ b/drivers/usb/dwc3/dwc3-omap.c
@@ -367,20 +367,23 @@ static int __devexit dwc3_omap_remove(struct platform_device *pdev)
 	return 0;
 }
 
-static const struct of_device_id of_dwc3_matach[] = {
+static const struct of_device_id of_dwc3_match[] = {
 	{
-		"ti,dwc3",
+		"ti,omap5430-dwc3"
+	},
+	{
+		"ti,omap5-dwc3"
 	},
 	{ },
 };
-MODULE_DEVICE_TABLE(of, of_dwc3_matach);
+MODULE_DEVICE_TABLE(of, of_dwc3_match);
 
 static struct platform_driver dwc3_omap_driver = {
 	.probe		= dwc3_omap_probe,
 	.remove		= __devexit_p(dwc3_omap_remove),
 	.driver		= {
 		.name	= "omap-dwc3",
-		.of_match_table	= of_dwc3_matach,
+		.of_match_table	= of_dwc3_match,
 	},
 };
 
-- 
1.7.8.rc3



More information about the devicetree-discuss mailing list