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 Boris Kovačević Stéphane Moutard-Martin Rune Pade +Michael Rey The libmad team The 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 @@ void usb_pin_init(void) { - /* TODO: add USB init for iPod 3rd gen */ - -#if defined(IPOD_1G2G) || defined(IPOD_3G) +#if defined(IPOD_1G2G) /* GPIO C bit 7 is firewire detect */ GPIOC_ENABLE |= 0x80; GPIOC_OUTPUT_EN &= ~0x80; +#elif defined(IPOD_3G) + /* GPIO D bit 4 is USB detect */ + GPIOD_ENABLE |= 0x10; + GPIOD_OUTPUT_EN &= ~0x10; #endif } @@ -62,13 +64,17 @@ void usb_enable(bool on) int usb_detect(void) { -#if defined(IPOD_1G2G) || defined(IPOD_3G) +#if defined(IPOD_1G2G) /* GPIO C bit 7 is firewire detect */ if (!(GPIOC_INPUT_VAL & 0x80)) return USB_INSERTED; #endif - /* TODO: add USB detection for iPod 3rd gen */ +#if defined(IPOD_3G) + /* GPIO D bit 4 is USB detect */ + if (GPIOD_INPUT_VAL & 0x10) + return USB_INSERTED; +#endif return USB_EXTRACTED; }