summaryrefslogtreecommitdiffstats
path: root/firmware/usbstack
diff options
context:
space:
mode:
authorTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-22 05:46:54 +0000
committerTobias Diedrich <ranma+coreboot@tdiedrich.de>2010-06-22 05:46:54 +0000
commit072c0a15cbf8a9114de681406a6ba1bdb55a27a3 (patch)
treeb3d3504be52be53d18e2d7abc6ca326acab2c49b /firmware/usbstack
parent831707d99191cfd7ed7d72725821bc2d9844baed (diff)
downloadrockbox-072c0a15cbf8a9114de681406a6ba1bdb55a27a3.tar.gz
rockbox-072c0a15cbf8a9114de681406a6ba1bdb55a27a3.zip
usb_storage seems to be working now, enable USE_ROCKBOX_USB on C200v2, other AMSv1 untested.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27039 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/usbstack')
-rw-r--r--firmware/usbstack/usb_storage.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index 1d47772362..fa723c07b0 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -59,8 +59,13 @@
#ifdef USB_READ_BUFFER_SIZE
#define READ_BUFFER_SIZE USB_READ_BUFFER_SIZE
#else
+#if CONFIG_CPU == AS3525
+/* We'd need to implement multidescriptor dma for sizes >65535 */
+#define READ_BUFFER_SIZE (1024*63)
+#else
#define READ_BUFFER_SIZE (1024*64)
-#endif
+#endif /* CONFIG_CPU == AS3525 */
+#endif /* USB_READ_BUFFER_SIZE */
#define MAX_CBW_SIZE 1024
@@ -68,11 +73,16 @@
#define WRITE_BUFFER_SIZE USB_WRITE_BUFFER_SIZE
#else
#if (CONFIG_STORAGE & STORAGE_SD)
+#if CONFIG_CPU == AS3525
+/* We'd need to implement multidescriptor dma for sizes >65535 */
+#define WRITE_BUFFER_SIZE (1024*63)
+#else
#define WRITE_BUFFER_SIZE (1024*64)
+#endif /* CONFIG_CPU == AS3525 */
#else
#define WRITE_BUFFER_SIZE (1024*24)
-#endif
-#endif
+#endif /* (CONFIG_STORAGE & STORAGE_SD) */
+#endif /* USB_WRITE_BUFFER_SIZE */
#define ALLOCATE_BUFFER_SIZE (2*MAX(READ_BUFFER_SIZE,WRITE_BUFFER_SIZE))
@@ -466,7 +476,7 @@ void usb_storage_init_connection(void)
unsigned char * audio_buffer;
audio_buffer = audio_get_buffer(false,&bufsize);
-#ifdef UNCACHED_ADDR
+#if defined(UNCACHED_ADDR) && CONFIG_CPU != AS3525
cbw_buffer = (void *)UNCACHED_ADDR((unsigned int)(audio_buffer+31) & 0xffffffe0);
#else
cbw_buffer = (void *)((unsigned int)(audio_buffer+31) & 0xffffffe0);