forked from len0rd/rockbox
USB detection changes. c200/e200: Consider USB to be powered when charger is plugged but detect USB connection by bus reset. When received, disconnect and restart the driver fully enabled. imx31: Fix hack used to make initial connect succeeded-- set PHY type before initial reset. General: Move some target code out of usb-drv-arc.c and implement it in respective usb sources and CPU headers so things stay clean.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19797 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
cef6399c4c
commit
616c98b38f
18 changed files with 280 additions and 148 deletions
|
|
@ -175,7 +175,7 @@ static struct
|
|||
completion_handler_t completion_handler[2];
|
||||
control_handler_t control_handler[2];
|
||||
struct usb_transfer_completion_event_data completion_event;
|
||||
} ep_data[NUM_ENDPOINTS];
|
||||
} ep_data[USB_NUM_ENDPOINTS];
|
||||
|
||||
static struct usb_class_driver drivers[USB_NUM_DRIVERS] =
|
||||
{
|
||||
|
|
@ -240,7 +240,7 @@ static struct usb_class_driver drivers[USB_NUM_DRIVERS] =
|
|||
|
||||
static void usb_core_control_request_handler(struct usb_ctrlrequest* req);
|
||||
|
||||
static unsigned char response_data[256] USBDEVBSS_ATTR;
|
||||
static unsigned char response_data[256] USB_DEVBSS_ATTR;
|
||||
|
||||
|
||||
static short hex[16] = {'0','1','2','3','4','5','6','7',
|
||||
|
|
@ -476,7 +476,7 @@ static void allocate_interfaces_and_endpoints(void)
|
|||
|
||||
memset(ep_data,0,sizeof(ep_data));
|
||||
|
||||
for (i = 0; i < NUM_ENDPOINTS; i++) {
|
||||
for (i = 0; i < USB_NUM_ENDPOINTS; i++) {
|
||||
usb_drv_release_endpoint(i | USB_DIR_OUT);
|
||||
usb_drv_release_endpoint(i | USB_DIR_IN);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@ void usb_storage_init_connection(void)
|
|||
#if CONFIG_CPU == IMX31L || CONFIG_USBOTG == USBOTG_ISP1583 || \
|
||||
defined(CPU_TCC77X) || defined(CPU_TCC780X)
|
||||
static unsigned char _transfer_buffer[BUFFER_SIZE*2]
|
||||
USBDEVBSS_ATTR __attribute__((aligned(32)));
|
||||
USB_DEVBSS_ATTR __attribute__((aligned(32)));
|
||||
tb.transfer_buffer = (void *)_transfer_buffer;
|
||||
#else
|
||||
/* TODO : check if bufsize is at least 32K ? */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue