summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorEric Nelson <eric.nelson@boundarydevices.com>2014-09-28 18:35:14 -0700
committerMarek Vasut <marex@denx.de>2014-10-06 14:50:44 +0200
commite206799370f77097a29577599960b7f123f61b8c (patch)
treeb0707b4437aa5a103f7af887c055e42edcc0c871 /drivers/usb
parent23d1d10c4248f1b9f838e512e7f18e600f06b348 (diff)
usb: ci_udc: respect CONFIG_USB_GADGET_DUALSPEED
Force full-speed (12 Mbit/s) operation if CONFIG_USB_GADGET_DUALSPEED is not defined. The controller is capable of high-speed (480 Mbit/s) operation, but some designs may require the use of lower-speed operation. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/ci_udc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/gadget/ci_udc.c b/drivers/usb/gadget/ci_udc.c
index 2572b346eb..b0ef35e745 100644
--- a/drivers/usb/gadget/ci_udc.c
+++ b/drivers/usb/gadget/ci_udc.c
@@ -777,6 +777,11 @@ static int ci_pullup(struct usb_gadget *gadget, int is_on)
/* select DEVICE mode */
writel(USBMODE_DEVICE, &udc->usbmode);
+#if !defined(CONFIG_USB_GADGET_DUALSPEED)
+ /* Port force Full-Speed Connect */
+ setbits_le32(&udc->portsc, PFSC);
+#endif
+
writel(0xffffffff, &udc->epflush);
/* Turn on the USB connection by enabling the pullup resistor */