From: Eric Nelson Date: Mon, 29 Sep 2014 01:35:14 +0000 (-0700) Subject: usb: ci_udc: respect CONFIG_USB_GADGET_DUALSPEED X-Git-Tag: v2014.10-rc3~1^2~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e206799370f77097a29577599960b7f123f61b8c;p=oweals%2Fu-boot.git 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 --- 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 */