ARM: dts: keystone: specify usb mode explicitly
authorGrygorii Strashko <grygorii.strashko@ti.com>
Wed, 31 Aug 2016 20:29:59 +0000 (16:29 -0400)
committerSantosh Shilimkar <ssantosh@kernel.org>
Wed, 31 Aug 2016 20:29:59 +0000 (16:29 -0400)
The USB OTG mode is not supported by Kestone 2 devices, as result, the
USB devices enumeration and detection will not work properly when
kernel is built with CONFIG_USB_DWC3_DUAL_ROLE=y (default for multi
platform build):
 - it's required to load gadget drivers manually to make host mode
work and this confuses current Keystone 2 users
 - device mode is not working, because port can't detect and switch to
peripheral/host mode dynamically.

Hence, specify usb mode explicitly in DT: usb0 = "host" for all KS2
devices and usb1 = "peripheral" for K2E.

Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
arch/arm/boot/dts/keystone-k2e-evm.dts
arch/arm/boot/dts/keystone-k2e.dtsi
arch/arm/boot/dts/keystone-k2hk-evm.dts
arch/arm/boot/dts/keystone-k2l-evm.dts
arch/arm/boot/dts/keystone.dtsi

index 4c32ebc..ae1ebe7 100644 (file)
        status = "okay";
 };
 
-&usb {
+&keystone_usb0 {
        status = "okay";
 };
 
+&usb0 {
+       dr_mode = "host";
+};
+
 &usb1_phy {
        status = "okay";
 };
 
-&usb1 {
+&keystone_usb1 {
        status = "okay";
 };
 
+&usb1 {
+       dr_mode = "peripheral";
+};
+
 &i2c0 {
        dtt@50 {
                compatible = "at,24c1024";
index 9a51b8c..497c417 100644 (file)
@@ -61,7 +61,7 @@
                        status = "disabled";
                };
 
-               usb1: usb@25000000 {
+               keystone_usb1: usb@25000000 {
                        compatible = "ti,keystone-dwc3";
                        #address-cells = <1>;
                        #size-cells = <1>;
@@ -74,7 +74,7 @@
                        dma-ranges;
                        status = "disabled";
 
-                       dwc3@25010000 {
+                       usb1: dwc3@25010000 {
                                compatible = "synopsys,dwc3";
                                reg = <0x25010000 0x70000>;
                                interrupts = <GIC_SPI 414 IRQ_TYPE_EDGE_RISING>;
index b38b344..2156ff9 100644 (file)
        status = "okay";
 };
 
-&usb {
+&keystone_usb0 {
        status = "okay";
 };
 
+&usb0 {
+       dr_mode = "host";
+};
+
 &aemif {
        cs0 {
                #address-cells = <2>;
index 7f9c2e9..056b42f 100644 (file)
        status = "okay";
 };
 
-&usb {
+&keystone_usb0 {
        status = "okay";
 };
 
+&usb0 {
+       dr_mode = "host";
+};
+
 &i2c0 {
        dtt@50 {
                compatible = "at,24c1024";
index 00cb314..b93b33f 100644 (file)
                        status = "disabled";
                };
 
-               usb: usb@2680000 {
+               keystone_usb0: usb@2680000 {
                        compatible = "ti,keystone-dwc3";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        dma-ranges;
                        status = "disabled";
 
-                       dwc3@2690000 {
+                       usb0: dwc3@2690000 {
                                compatible = "synopsys,dwc3";
                                reg = <0x2690000 0x70000>;
                                interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;