usb-s3c6400: use more complete functions from usb-drv-as3525v2

update copyright

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31508 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Rafaël Carré 2011-12-31 21:18:10 +00:00
parent 18bee1bafb
commit fd5cb720c4
2 changed files with 25 additions and 34 deletions

View file

@ -366,23 +366,6 @@ void INT_USB(void)
GINTSTS = sts;
}
int usb_drv_port_speed(void)
{
static const uint8_t speed[4] = {
[DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ] = 1,
[DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ] = 0,
[DSTS_ENUMSPD_FS_PHY_48MHZ] = 0,
[DSTS_ENUMSPD_LS_PHY_6MHZ] = 0,
};
unsigned enumspd = extract(DSTS, enumspd);
if(enumspd == DSTS_ENUMSPD_LS_PHY_6MHZ)
panicf("usb-drv: LS is not supported");
return speed[enumspd & 3];
}
int usb_drv_request_endpoint(int type, int dir)
{
bool out = dir == USB_DIR_OUT;
@ -456,10 +439,3 @@ int usb_drv_send(int ep, void *ptr, int len)
semaphore_wait(&endpoint->complete, TIMEOUT_BLOCK);
return endpoint->status;
}
void usb_drv_set_test_mode(int mode)
{
/* there is a perfect matching between usb test mode code
* and the register field value */
DCTL = (DCTL & ~bitm(DCTL, tstctl)) | (mode << DCTL_tstctl_bitp);
}

View file

@ -8,6 +8,7 @@
* $Id$
*
* Copyright (C) 2009 by Michael Sparmann
* Copyright © 2010 Amaury Pouly
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@ -81,6 +82,30 @@ int usb_drv_recv(int endpoint, void* ptr, int length)
return 0;
}
int usb_drv_port_speed(void)
{
static const uint8_t speed[4] = {
[DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ] = 1,
[DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ] = 0,
[DSTS_ENUMSPD_FS_PHY_48MHZ] = 0,
[DSTS_ENUMSPD_LS_PHY_6MHZ] = 0,
};
unsigned enumspd = extract(DSTS, enumspd);
if(enumspd == DSTS_ENUMSPD_LS_PHY_6MHZ)
panicf("usb-drv: LS is not supported");
return speed[enumspd & 3];
}
void usb_drv_set_test_mode(int mode)
{
/* there is a perfect matching between usb test mode code
* and the register field value */
DCTL = (DCTL & ~bitm(DCTL, tstctl)) | (mode << DCTL_tstctl_bitp);
}
#if CONFIG_CPU == AS3525v2 /* FIXME FIXME FIXME */
# include "as3525/usb-drv-as3525v2.c"
#else
@ -100,11 +125,6 @@ static union
unsigned char payload[64];
} ctrlreq USB_DEVBSS_ATTR;
int usb_drv_port_speed(void)
{
return (DSTS & 2) == 0 ? 1 : 0;
}
static void reset_endpoints(int reinit)
{
unsigned int i;
@ -331,11 +351,6 @@ void usb_drv_cancel_all_transfers(void)
restore_irq(flags);
}
void usb_drv_set_test_mode(int mode)
{
(void)mode;
}
void usb_drv_init(void)
{
for (unsigned i = 0; i < sizeof(endpoints)/sizeof(struct ep_type); i++)