summaryrefslogtreecommitdiff
path: root/firmware/target/arm/s5l8700/usb-s5l8700.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/s5l8700/usb-s5l8700.c')
-rw-r--r--firmware/target/arm/s5l8700/usb-s5l8700.c31
1 files changed, 11 insertions, 20 deletions
diff --git a/firmware/target/arm/s5l8700/usb-s5l8700.c b/firmware/target/arm/s5l8700/usb-s5l8700.c
index c0bf7a951b..6ad4dcea95 100644
--- a/firmware/target/arm/s5l8700/usb-s5l8700.c
+++ b/firmware/target/arm/s5l8700/usb-s5l8700.c
@@ -20,9 +20,6 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21#include "config.h" 21#include "config.h"
22#include "usb.h" 22#include "usb.h"
23#include "cpu.h"
24#include "system.h"
25#include "string.h"
26 23
27void usb_init_device(void) 24void usb_init_device(void)
28{ 25{
@@ -30,27 +27,21 @@ void usb_init_device(void)
30 27
31void usb_enable(bool on) 28void usb_enable(bool on)
32{ 29{
33 /* This device specific code will eventually give way to proper USB 30 (void)on;
34 handling, which should be the same for all S5L870x targets. */ 31}
35 if (on)
36 {
37#ifdef IPOD_ARCH
38 /* For iPod, we can only do one thing with USB mode atm - reboot
39 into the flash-based disk-mode. This does not return. */
40 32
41 memcpy((void *)0x0002bf00, "diskmodehotstuff\1\0\0\0", 20); 33void usb_attach(void)
34{
42 35
43 system_reboot(); /* Reboot */
44#endif
45 }
46} 36}
47 37
48int usb_detect(void) 38static bool usb_pin_state(void)
49{ 39{
50#if defined(IPOD_NANO2G) 40 return false;
51 if ((PDAT14 & 0x8) == 0x0) 41}
52 return USB_INSERTED;
53#endif
54 42
55 return USB_EXTRACTED; 43/* detect host or charger (INSERTED or EXTRACTED) */
44int usb_detect(void)
45{
46 return usb_pin_state() ? USB_INSERTED : USB_EXTRACTED;
56} 47}