diff options
Diffstat (limited to 'firmware/target/arm')
-rw-r--r-- | firmware/target/arm/pp/usb-fw-pp5002.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/firmware/target/arm/pp/usb-fw-pp5002.c b/firmware/target/arm/pp/usb-fw-pp5002.c index d296b05b2f..d0fbbd6e48 100644 --- a/firmware/target/arm/pp/usb-fw-pp5002.c +++ b/firmware/target/arm/pp/usb-fw-pp5002.c | |||
@@ -28,12 +28,14 @@ | |||
28 | 28 | ||
29 | void usb_pin_init(void) | 29 | void usb_pin_init(void) |
30 | { | 30 | { |
31 | /* TODO: add USB init for iPod 3rd gen */ | 31 | #if defined(IPOD_1G2G) |
32 | |||
33 | #if defined(IPOD_1G2G) || defined(IPOD_3G) | ||
34 | /* GPIO C bit 7 is firewire detect */ | 32 | /* GPIO C bit 7 is firewire detect */ |
35 | GPIOC_ENABLE |= 0x80; | 33 | GPIOC_ENABLE |= 0x80; |
36 | GPIOC_OUTPUT_EN &= ~0x80; | 34 | GPIOC_OUTPUT_EN &= ~0x80; |
35 | #elif defined(IPOD_3G) | ||
36 | /* GPIO D bit 4 is USB detect */ | ||
37 | GPIOD_ENABLE |= 0x10; | ||
38 | GPIOD_OUTPUT_EN &= ~0x10; | ||
37 | #endif | 39 | #endif |
38 | } | 40 | } |
39 | 41 | ||
@@ -62,13 +64,17 @@ void usb_enable(bool on) | |||
62 | 64 | ||
63 | int usb_detect(void) | 65 | int usb_detect(void) |
64 | { | 66 | { |
65 | #if defined(IPOD_1G2G) || defined(IPOD_3G) | 67 | #if defined(IPOD_1G2G) |
66 | /* GPIO C bit 7 is firewire detect */ | 68 | /* GPIO C bit 7 is firewire detect */ |
67 | if (!(GPIOC_INPUT_VAL & 0x80)) | 69 | if (!(GPIOC_INPUT_VAL & 0x80)) |
68 | return USB_INSERTED; | 70 | return USB_INSERTED; |
69 | #endif | 71 | #endif |
70 | 72 | ||
71 | /* TODO: add USB detection for iPod 3rd gen */ | 73 | #if defined(IPOD_3G) |
74 | /* GPIO D bit 4 is USB detect */ | ||
75 | if (GPIOD_INPUT_VAL & 0x10) | ||
76 | return USB_INSERTED; | ||
77 | #endif | ||
72 | 78 | ||
73 | return USB_EXTRACTED; | 79 | return USB_EXTRACTED; |
74 | } | 80 | } |