arm: mx6: cm-fx6: force host mode on usb controller
authorNikita Kiryanov <nikita@compulab.co.il>
Sun, 30 Aug 2015 12:36:47 +0000 (15:36 +0300)
committerStefano Babic <sbabic@denx.de>
Wed, 2 Sep 2015 13:38:16 +0000 (15:38 +0200)
On some CM-FX6 modules U-Boot attempts to configure the usb0 controller in
device mode, which renders it unavailable:
USB0:   Port not available.
and also causes usb stop to report an error
EHCI failed to shut down host controller.

This happens mostly on MX6 Dual based modules, and is caused by the USBPHY_CTRL
register reporting USBPHY_CTRL_OTG_ID to be 1, even when it is pulled down.
Since we do not support device mode in cm-fx6 u-boot, force all controllers to
be configured as hosts.

Cc: Stefano Babic <sbabic@denx.de>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Nikita Kiryanov <nikita@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
board/compulab/cm_fx6/cm_fx6.c

index e85c8aba45c781f6235817f52abc0884baf19ae4..7273d349984a9695522a969a0aaa3ef07e89bd45 100644 (file)
@@ -14,6 +14,7 @@
 #include <miiphy.h>
 #include <netdev.h>
 #include <errno.h>
+#include <usb.h>
 #include <fdt_support.h>
 #include <sata.h>
 #include <splash.h>
@@ -330,6 +331,11 @@ static int cm_fx6_setup_usb_otg(void)
        return gpio_direction_output(SB_FX6_USB_OTG_PWR, 0);
 }
 
+int board_usb_phy_mode(int port)
+{
+       return USB_INIT_HOST;
+}
+
 int board_ehci_hcd_init(int port)
 {
        int ret;