From c4e4ffb5418afce2602a2310747676647ee04ddf Mon Sep 17 00:00:00 2001 From: Tobias Diedrich Date: Tue, 23 Mar 2010 11:13:17 +0000 Subject: Limit AUDIO_IRQ handling to AS3525, since it doesn't work on the newer SoC in SANSA_CLIPPLUS yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25305 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/usb-as3525.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) (limited to 'firmware/target/arm/as3525/usb-as3525.c') diff --git a/firmware/target/arm/as3525/usb-as3525.c b/firmware/target/arm/as3525/usb-as3525.c index 65edb598a3..4eb533e13c 100644 --- a/firmware/target/arm/as3525/usb-as3525.c +++ b/firmware/target/arm/as3525/usb-as3525.c @@ -29,7 +29,13 @@ #include "power.h" #include "as3525.h" +#if defined(SANSA_CLIPV2) || defined(SANSA_CLIPPLUS) || defined(SANSA_FUZEV2) +#warning USB_DETECT_PIN not defined for your target +#endif + +#if CONFIG_CPU == AS3525 static int usb_status = USB_EXTRACTED; +#endif void usb_enable(bool on) { @@ -43,6 +49,14 @@ void usb_enable(bool on) #endif } +void usb_init_device(void) +{ +#ifdef USB_DETECT_PIN + GPIOA_DIR &= ~(1 << USB_DETECT_PIN); /* set as input */ +#endif +} + +#if CONFIG_CPU == AS3525 void usb_insert_int(void) { usb_status = USB_INSERTED; @@ -53,11 +67,18 @@ void usb_remove_int(void) usb_status = USB_EXTRACTED; } -void usb_init_device(void) +int usb_detect(void) { + return usb_status; } - +#else int usb_detect(void) { - return usb_status; +#ifdef USB_DETECT_PIN + if (GPIOA_PIN( USB_DETECT_PIN )) + return USB_INSERTED; + else +#endif + return USB_EXTRACTED; } +#endif -- cgit v1.2.3