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.c27
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
32static int usb_status = USB_EXTRACTED; 37static int usb_status = USB_EXTRACTED;
38#endif
33 39
34void usb_enable(bool on) 40void usb_enable(bool on)
35{ 41{
@@ -43,6 +49,14 @@ void usb_enable(bool on)
43#endif 49#endif
44} 50}
45 51
52void 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
46void usb_insert_int(void) 60void 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
56void usb_init_device(void) 70int usb_detect(void)
57{ 71{
72 return usb_status;
58} 73}
59 74#else
60int usb_detect(void) 75int 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