From 02bfba6c616a4e4aedf0e36d742598c36334e228 Mon Sep 17 00:00:00 2001 From: Frank Gevaerts Date: Sun, 20 Apr 2008 16:51:09 +0000 Subject: [PATCH] Put USB controller structures in IRAM. This seems to make the connection much more stable on PP502x git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17191 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/usb_core.h | 2 +- firmware/usbstack/usb_serial.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/firmware/export/usb_core.h b/firmware/export/usb_core.h index bf6f2becb2..fc1c742286 100644 --- a/firmware/export/usb_core.h +++ b/firmware/export/usb_core.h @@ -37,7 +37,7 @@ #define NUM_ENDPOINTS 8 #define USBDEVBSS_ATTR DEVBSS_ATTR #else -#define USBDEVBSS_ATTR NOCACHEBSS_ATTR +#define USBDEVBSS_ATTR IBSS_ATTR #define NUM_ENDPOINTS 3 #endif diff --git a/firmware/usbstack/usb_serial.c b/firmware/usbstack/usb_serial.c index f39035462f..08eb1213ea 100644 --- a/firmware/usbstack/usb_serial.c +++ b/firmware/usbstack/usb_serial.c @@ -53,10 +53,16 @@ struct usb_endpoint_descriptor __attribute__((aligned(2))) endpoint_descriptor = }; #define BUFFER_SIZE 512 /* Max 16k because of controller limitations */ +#if CONFIG_CPU == IMX31L static unsigned char send_buffer[BUFFER_SIZE] USBDEVBSS_ATTR __attribute__((aligned(32))); -static unsigned char receive_buffer[512] +static unsigned char receive_buffer[32] USBDEVBSS_ATTR __attribute__((aligned(32))); +#else +static unsigned char send_buffer[BUFFER_SIZE] __attribute__((aligned(32))); +static unsigned char receive_buffer[32] __attribute__((aligned(32))); +#endif + static bool busy_sending = false; static int buffer_start; static int buffer_length;