diff options
Diffstat (limited to 'firmware/target/arm/as3525/usb-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/usb-as3525.c | 27 |
1 files changed, 24 insertions, 3 deletions
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 @@ | |||
29 | #include "power.h" | 29 | #include "power.h" |
30 | #include "as3525.h" | 30 | #include "as3525.h" |
31 | 31 | ||
32 | #if defined(SANSA_CLIPV2) || defined(SANSA_CLIPPLUS) || defined(SANSA_FUZEV2) | ||
33 | #warning USB_DETECT_PIN not defined for your target | ||
34 | #endif | ||
35 | |||
36 | #if CONFIG_CPU == AS3525 | ||
32 | static int usb_status = USB_EXTRACTED; | 37 | static int usb_status = USB_EXTRACTED; |
38 | #endif | ||
33 | 39 | ||
34 | void usb_enable(bool on) | 40 | void usb_enable(bool on) |
35 | { | 41 | { |
@@ -43,6 +49,14 @@ void usb_enable(bool on) | |||
43 | #endif | 49 | #endif |
44 | } | 50 | } |
45 | 51 | ||
52 | void usb_init_device(void) | ||
53 | { | ||
54 | #ifdef USB_DETECT_PIN | ||
55 | GPIOA_DIR &= ~(1 << USB_DETECT_PIN); /* set as input */ | ||
56 | #endif | ||
57 | } | ||
58 | |||
59 | #if CONFIG_CPU == AS3525 | ||
46 | void usb_insert_int(void) | 60 | void usb_insert_int(void) |
47 | { | 61 | { |
48 | usb_status = USB_INSERTED; | 62 | usb_status = USB_INSERTED; |
@@ -53,11 +67,18 @@ void usb_remove_int(void) | |||
53 | usb_status = USB_EXTRACTED; | 67 | usb_status = USB_EXTRACTED; |
54 | } | 68 | } |
55 | 69 | ||
56 | void usb_init_device(void) | 70 | int usb_detect(void) |
57 | { | 71 | { |
72 | return usb_status; | ||
58 | } | 73 | } |
59 | 74 | #else | |
60 | int usb_detect(void) | 75 | int usb_detect(void) |
61 | { | 76 | { |
62 | return usb_status; | 77 | #ifdef USB_DETECT_PIN |
78 | if (GPIOA_PIN( USB_DETECT_PIN )) | ||
79 | return USB_INSERTED; | ||
80 | else | ||
81 | #endif | ||
82 | return USB_EXTRACTED; | ||
63 | } | 83 | } |
84 | #endif | ||