diff options
| author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2007-08-29 09:17:15 +0000 |
|---|---|---|
| committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2007-08-29 09:17:15 +0000 |
| commit | 7d4c7f9f287374bad40978abf78531ecc8eafb06 (patch) | |
| tree | 310702078ab94956c1fce0ef37a11cb220087596 | |
| parent | d70857b2da60cf8b898d4ffa138e1026f50cbce2 (diff) | |
| download | rockbox-7d4c7f9f287374bad40978abf78531ecc8eafb06.zip rockbox-7d4c7f9f287374bad40978abf78531ecc8eafb06.tar.gz rockbox-7d4c7f9f287374bad40978abf78531ecc8eafb06.tar.bz2 rockbox-7d4c7f9f287374bad40978abf78531ecc8eafb06.tar.xz | |
we use only 2 endpoints
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14502 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/usb/arcotg_dcd.c | 12 | ||||
| -rw-r--r-- | firmware/export/config-e200.h | 4 | ||||
| -rw-r--r-- | firmware/usbstack/drivers/device/usb_storage.c | 4 |
3 files changed, 15 insertions, 5 deletions
diff --git a/firmware/drivers/usb/arcotg_dcd.c b/firmware/drivers/usb/arcotg_dcd.c index c74dad1..d57850f 100644 --- a/firmware/drivers/usb/arcotg_dcd.c +++ b/firmware/drivers/usb/arcotg_dcd.c @@ -219,6 +219,8 @@ void usb_arcotg_dcd_stop(void) void usb_arcotg_dcd_irq(void) { + int i; + if (dcd_controller.stopped == true) { return; } @@ -240,9 +242,16 @@ void usb_arcotg_dcd_irq(void) UDC_ENDPTSETUPSTAT = UDC_ENDPTSETUPSTAT; setup_received_int(&dcd_controller.local_setup_buff); } - +/* if (UDC_ENDPTCOMPLETE) { UDC_ENDPTCOMPLETE = UDC_ENDPTCOMPLETE; + }*/ + } + + for (i = 0; i < USB_MAX_ENDPOINTS; i++) { + if ((UDC_ENDPTCOMPLETE & (1 << i)) == 1) { + logf("COMPLETE on %d", i); + UDC_ENDPTCOMPLETE |= (1 << i); } } @@ -605,6 +614,7 @@ int usb_arcotg_dcd_enable(struct usb_ep* ep, #endif /* set address of used ep in desc */ + logf("ep address %x", desc->bEndpointAddress); desc->bEndpointAddress |= ep->ep_num; /* here initialize variable of ep */ diff --git a/firmware/export/config-e200.h b/firmware/export/config-e200.h index fdcfa84..745a26f 100644 --- a/firmware/export/config-e200.h +++ b/firmware/export/config-e200.h @@ -152,10 +152,10 @@ /* USB On-the-go */ #define CONFIG_USBOTG USBOTG_ARC -/* enable these for the experimental usb stack +/* enable these for the experimental usb stack*/ #define HAVE_USBSTACK #define USBSTACK_CAPS CONTROLLER_DEVICE -*/ + /* Virtual LED (icon) */ #define CONFIG_LED LED_VIRTUAL diff --git a/firmware/usbstack/drivers/device/usb_storage.c b/firmware/usbstack/drivers/device/usb_storage.c index 30f376b..4f820fb 100644 --- a/firmware/usbstack/drivers/device/usb_storage.c +++ b/firmware/usbstack/drivers/device/usb_storage.c @@ -77,7 +77,7 @@ static struct usb_interface_descriptor storage_interface_desc = { .bLength = USB_DT_INTERFACE_SIZE, .bDescriptorType = USB_DT_INTERFACE, .bInterfaceNumber = 0, - .bNumEndpoints = 3, + .bNumEndpoints = 2, .bInterfaceClass = USB_CLASS_MASS_STORAGE, .bInterfaceSubClass = SUBCL_SCSI, .bInterfaceProtocol = PROTO_BULK, @@ -293,7 +293,7 @@ static int config_buf(uint8_t *buf, uint8_t type, unsigned index) static int set_config(int config) { (void)config; - + /* enable endpoints */ logf("setup %s", dev.in->name); ops->enable(dev.in, (struct usb_endpoint_descriptor*)dev.descriptors[1]); |