summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/usb-as3525.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525/usb-as3525.c')
-rw-r--r--firmware/target/arm/as3525/usb-as3525.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/firmware/target/arm/as3525/usb-as3525.c b/firmware/target/arm/as3525/usb-as3525.c
index d5535d00b8..65edb598a3 100644
--- a/firmware/target/arm/as3525/usb-as3525.c
+++ b/firmware/target/arm/as3525/usb-as3525.c
@@ -29,15 +29,7 @@
29#include "power.h" 29#include "power.h"
30#include "as3525.h" 30#include "as3525.h"
31 31
32#if defined(SANSA_CLIP) 32static int usb_status = USB_EXTRACTED;
33#define USB_DETECT_PIN 6
34
35#elif defined(SANSA_FUZE) || defined(SANSA_E200V2)
36#define USB_DETECT_PIN 3
37
38#elif defined(SANSA_C200V2)
39#define USB_DETECT_PIN 1
40#endif
41 33
42void usb_enable(bool on) 34void usb_enable(bool on)
43{ 35{
@@ -51,19 +43,21 @@ void usb_enable(bool on)
51#endif 43#endif
52} 44}
53 45
46void usb_insert_int(void)
47{
48 usb_status = USB_INSERTED;
49}
50
51void usb_remove_int(void)
52{
53 usb_status = USB_EXTRACTED;
54}
55
54void usb_init_device(void) 56void usb_init_device(void)
55{ 57{
56#ifdef USB_DETECT_PIN
57 GPIOA_DIR &= ~(1 << USB_DETECT_PIN); /* set as input */
58#endif
59} 58}
60 59
61int usb_detect(void) 60int usb_detect(void)
62{ 61{
63#ifdef USB_DETECT_PIN 62 return usb_status;
64 if (GPIOA_PIN( USB_DETECT_PIN ))
65 return USB_INSERTED;
66 else
67#endif
68 return USB_EXTRACTED;
69} 63}