summaryrefslogtreecommitdiff
path: root/firmware/target/arm/pp/usb-fw-pp5002.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/pp/usb-fw-pp5002.c')
-rw-r--r--firmware/target/arm/pp/usb-fw-pp5002.c16
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
29void usb_pin_init(void) 29void 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
63int usb_detect(void) 65int 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}