diff options
| author | Rafaël Carré <rafael.carre@gmail.com> | 2011-12-31 21:18:10 +0000 |
|---|---|---|
| committer | Rafaël Carré <rafael.carre@gmail.com> | 2011-12-31 21:18:10 +0000 |
| commit | fd5cb720c4b922979e854ee3d07979b81f60e776 (patch) | |
| tree | 10fb1af91817d7d2c948a5a65b4710f6f398b075 | |
| parent | 18bee1bafb7ce4cb7610a491c12c2d41939a2c2f (diff) | |
| download | rockbox-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.c | 24 | ||||
| -rw-r--r-- | firmware/target/arm/usb-s3c6400x.c | 35 |
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++) |