summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorBryan Wu <bryan.wu@analog.com>2010-08-09 14:57:41 -0400
committerRemy Bohmer <linux@bohmer.net>2010-09-11 09:49:21 +0200
commit8dd7a23007ff73dae176aa4628f5c2142d6087dc (patch)
treee03223c0c0bbead5e6633442246d0a14fdb75ad6 /drivers/usb
parent2d941de9d5c7ba00dc19787dfa0aac2949fd00fb (diff)
downloadu-boot-imx-8dd7a23007ff73dae176aa4628f5c2142d6087dc.zip
u-boot-imx-8dd7a23007ff73dae176aa4628f5c2142d6087dc.tar.gz
u-boot-imx-8dd7a23007ff73dae176aa4628f5c2142d6087dc.tar.bz2
usb: musb: setup TXCOUNT for Blackfin musb
The Blackfin implementation of musb has a TXCOUNT register that needs to be programmed when transmitting data. Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/musb/musb_hcd.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_hcd.c b/drivers/usb/musb/musb_hcd.c
index dd2aa7f..f14e12f 100644
--- a/drivers/usb/musb/musb_hcd.c
+++ b/drivers/usb/musb/musb_hcd.c
@@ -987,6 +987,11 @@ int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,
nextlen = ((len-txlen) < dev->epmaxpacketout[ep]) ?
(len-txlen) : dev->epmaxpacketout[ep];
+#ifdef CONFIG_USB_BLACKFIN
+ /* Set the transfer data size */
+ writew(nextlen, &musbr->txcount);
+#endif
+
/* Write the data to the FIFO */
write_fifo(MUSB_BULK_EP, nextlen,
(void *)(((u8 *)buffer) + txlen));