ARM: dts: keystone: Add usb devicetree bindings
authorWingMan Kwok <w-kwok2@ti.com>
Mon, 9 Dec 2013 22:25:12 +0000 (17:25 -0500)
committerSantosh Shilimkar <santosh.shilimkar@ti.com>
Fri, 13 Dec 2013 01:29:17 +0000 (20:29 -0500)
Added device tree support for TI's Keystone USB driver and updated the
Documentation with device tree binding information.

Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Documentation/devicetree/bindings/usb/keystone-usb.txt [new file with mode: 0644]
arch/arm/boot/dts/k2hk-evm.dts
arch/arm/boot/dts/keystone.dtsi

diff --git a/Documentation/devicetree/bindings/usb/keystone-usb.txt b/Documentation/devicetree/bindings/usb/keystone-usb.txt
new file mode 100644 (file)
index 0000000..60527d3
--- /dev/null
@@ -0,0 +1,42 @@
+TI Keystone Soc USB Controller
+
+DWC3 GLUE
+
+Required properties:
+ - compatible: should be "ti,keystone-dwc3".
+ - #address-cells, #size-cells : should be '1' if the device has sub-nodes
+   with 'reg' property.
+ - reg : Address and length of the register set for the USB subsystem on
+   the SOC.
+ - interrupts : The irq number of this device that is used to interrupt the
+   MPU.
+ - ranges: allows valid 1:1 translation between child's address space and
+   parent's address space.
+ - clocks: Clock IDs array as required by the controller.
+ - clock-names: names of clocks correseponding to IDs in the clock property.
+
+Sub-nodes:
+The dwc3 core should be added as subnode to Keystone DWC3 glue.
+- dwc3 :
+   The binding details of dwc3 can be found in:
+   Documentation/devicetree/bindings/usb/dwc3.txt
+
+Example:
+       usb: usb@2680000 {
+               compatible = "ti,keystone-dwc3";
+               #address-cells = <1>;
+               #size-cells = <1>;
+               reg = <0x2680000 0x10000>;
+               clocks = <&clkusb>;
+               clock-names = "usb";
+               interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
+               ranges;
+               status = "disabled";
+
+               dwc3@2690000 {
+                       compatible = "synopsys,dwc3";
+                       reg = <0x2690000 0x70000>;
+                       interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
+                       usb-phy = <&usb_phy>, <&usb_phy>;
+               };
+       };
index 15b3a95..eaefdfe 100644 (file)
                };
        };
 };
+
+&usb_phy {
+       status = "okay";
+};
+
+&usb {
+       status = "okay";
+};
index 276bea9..b420290 100644 (file)
                        reg = <0x2620738 32>;
                        status = "disabled";
                };
+
+               usb: usb@2680000 {
+                       compatible = "ti,keystone-dwc3";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       reg = <0x2680000 0x10000>;
+                       clocks = <&clkusb>;
+                       clock-names = "usb";
+                       interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
+                       ranges;
+                       status = "disabled";
+
+                       dwc3@2690000 {
+                               compatible = "synopsys,dwc3";
+                               reg = <0x2690000 0x70000>;
+                               interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
+                               usb-phy = <&usb_phy>, <&usb_phy>;
+                       };
+               };
        };
 };