diff options
Diffstat (limited to 'firmware/target/arm/s5l8700/usb-s5l8700.c')
-rw-r--r-- | firmware/target/arm/s5l8700/usb-s5l8700.c | 31 |
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 | ||
27 | void usb_init_device(void) | 24 | void usb_init_device(void) |
28 | { | 25 | { |
@@ -30,27 +27,21 @@ void usb_init_device(void) | |||
30 | 27 | ||
31 | void usb_enable(bool on) | 28 | void 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); | 33 | void usb_attach(void) |
34 | { | ||
42 | 35 | ||
43 | system_reboot(); /* Reboot */ | ||
44 | #endif | ||
45 | } | ||
46 | } | 36 | } |
47 | 37 | ||
48 | int usb_detect(void) | 38 | static 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) */ |
44 | int usb_detect(void) | ||
45 | { | ||
46 | return usb_pin_state() ? USB_INSERTED : USB_EXTRACTED; | ||
56 | } | 47 | } |