From 93afe5297b825d1e6f9d3d2782ae00a4593a0a03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Stenberg?= Date: Tue, 30 Dec 2008 21:17:43 +0000 Subject: Cleaner usb detection. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19615 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/usb-as3525.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/firmware/target/arm/as3525/usb-as3525.c b/firmware/target/arm/as3525/usb-as3525.c index ab2f51e..9fcf2cb 100644 --- a/firmware/target/arm/as3525/usb-as3525.c +++ b/firmware/target/arm/as3525/usb-as3525.c @@ -24,6 +24,16 @@ #include "as3525.h" #include +#if defined(SANSA_CLIP) +#define USB_DETECT_PIN 6 + +#elif defined(SANSA_FUZE) || defined(SANSA_E200V2) +#define USB_DETECT_PIN 3 + +#elif defined(SANSA_C200V2) +#define USB_DETECT_PIN 1 +#endif + void usb_enable(bool on) { (void)on; @@ -31,19 +41,13 @@ void usb_enable(bool on) void usb_init_device(void) { - /* TODO */ + GPIOA_DIR &= ~(1 << USB_DETECT_PIN); /* set as input */ } int usb_detect(void) { -#if defined(SANSA_CLIP) - return !GPIOA_PIN(6); -#elif defined(SANSA_FUZE) || defined(SANSA_E200V2) - return !GPIOA_PIN(3); -#elif defined(SANSA_C200V2) - return !GPIOA_PIN(1); -#else - /* TODO: Implement USB detection */ - return USB_EXTRACTED; -#endif + if (GPIOA_PIN( USB_DETECT_PIN )) + return USB_INSERTED; + else + return USB_EXTRACTED; } -- cgit v1.1