summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/CREDITS1
-rw-r--r--firmware/target/arm/pp/usb-fw-pp5002.c16
2 files changed, 12 insertions, 5 deletions
diff --git a/docs/CREDITS b/docs/CREDITS
index 012b31c72b..a1041f4952 100644
--- a/docs/CREDITS
+++ b/docs/CREDITS
@@ -696,6 +696,7 @@ Adrián Tinoco
696Boris Kovačević 696Boris Kovačević
697Stéphane Moutard-Martin 697Stéphane Moutard-Martin
698Rune Pade 698Rune Pade
699Michael Rey
699 700
700The libmad team 701The libmad team
701The wavpack team 702The wavpack team
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}