summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2011-12-31 21:18:10 +0000
committerRafaël Carré <rafael.carre@gmail.com>2011-12-31 21:18:10 +0000
commitfd5cb720c4b922979e854ee3d07979b81f60e776 (patch)
tree10fb1af91817d7d2c948a5a65b4710f6f398b075
parent18bee1bafb7ce4cb7610a491c12c2d41939a2c2f (diff)
downloadrockbox-fd5cb720c4b922979e854ee3d07979b81f60e776.zip
rockbox-fd5cb720c4b922979e854ee3d07979b81f60e776.tar.gz
rockbox-fd5cb720c4b922979e854ee3d07979b81f60e776.tar.bz2
rockbox-fd5cb720c4b922979e854ee3d07979b81f60e776.tar.xz
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
-rw-r--r--firmware/target/arm/as3525/usb-drv-as3525v2.c24
-rw-r--r--firmware/target/arm/usb-s3c6400x.c35
2 files changed, 25 insertions, 34 deletions
diff --git a/firmware/target/arm/as3525/usb-drv-as3525v2.c b/firmware/target/arm/as3525/usb-drv-as3525v2.c
index e9a2ca8..8c19758 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525v2.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525v2.c
@@ -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);
-}
diff --git a/firmware/target/arm/usb-s3c6400x.c b/firmware/target/arm/usb-s3c6400x.c
index 26db55e..43c9f2f 100644
--- a/firmware/target/arm/usb-s3c6400x.c
+++ b/firmware/target/arm/usb-s3c6400x.c
@@ -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++)