iRiver: USB support

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5892 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Linus Nielsen Feltzing 2005-02-10 23:20:34 +00:00
parent 8a4c704909
commit aa2989f4d2
3 changed files with 23 additions and 5 deletions

View file

@ -48,7 +48,7 @@
/* Offset ( in the firmware file's header ) to the real data */ /* Offset ( in the firmware file's header ) to the real data */
#define FIRMWARE_OFFSET_FILE_DATA 8 #define FIRMWARE_OFFSET_FILE_DATA 8
#define USB_NONE /* FIX: USB temorarily disabled */ #define USB_IRIVERSTYLE
/* Define this if you have a software controlled poweroff */ /* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF #define HAVE_SW_POWEROFF

View file

@ -1995,6 +1995,9 @@ static void mpeg_thread(void)
mpeg_stop_done = true; mpeg_stop_done = true;
break; break;
default: default:
/* Tell the USB thread that we are safe */
DEBUGF("mpeg_thread got SYS_USB_CONNECTED\n");
usb_acknowledge(SYS_USB_CONNECTED_ACK);
break; break;
} }
} }

View file

@ -116,8 +116,7 @@ static void usb_enable(bool on)
or_b(0x08, &PADRL); /* deassert card detect */ or_b(0x08, &PADRL); /* deassert card detect */
} }
or_b(0x28, &PAIORL); /* output for USB enable and card detect */ or_b(0x28, &PAIORL); /* output for USB enable and card detect */
#else /* standard HD Jukebox */ #elif defined(USB_GMINISTYLE)
#ifdef USB_GMINISTYLE
{ {
int i; int i;
int smscVer = getSMSCVer(); int smscVer = getSMSCVer();
@ -144,6 +143,19 @@ static void usb_enable(bool on)
} }
} }
} }
#elif defined(USB_IRIVERSTYLE)
if(on)
{
/* Power on the Cypress chip */
GPIO_OUT |= 0x01000000;
sleep(2);
}
else
{
/* Power off the Cypress chip */
GPIO_OUT &= ~0x01000000;
}
#else #else
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
if(read_hw_mask() & USB_ACTIVE_HIGH) if(read_hw_mask() & USB_ACTIVE_HIGH)
@ -159,7 +171,6 @@ static void usb_enable(bool on)
} }
or_b(0x04, &PAIORH); or_b(0x04, &PAIORH);
#endif #endif
#endif
} }
static void usb_slave_mode(bool on) static void usb_slave_mode(bool on)
@ -403,7 +414,11 @@ void usb_init(void)
countdown = -1; countdown = -1;
#ifdef IRIVER_H100 #ifdef IRIVER_H100
GPIO1_FUNCTION |= 0x80; /* GPIO39 is the USB detect input */ GPIO_OUT &= ~0x01000000; /* GPIO24 is the Cypress chip power */
GPIO_ENABLE |= 0x01000000;
GPIO_FUNCTION |= 0x01000000;
GPIO1_FUNCTION |= 0x00000080; /* GPIO39 is the USB detect input */
#endif #endif
usb_enable(false); usb_enable(false);