1
0
Fork 0
forked from len0rd/rockbox

Gigabeat Cradle USB Support

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12284 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2007-02-12 07:05:15 +00:00
parent ce584280ab
commit b0810520be

View file

@ -31,18 +31,18 @@
#define USB_VPLUS_PWR_ASSERT GPBDAT |= (1 << 6)
#define USB_VPLUS_PWR_DEASSERT GPBDAT &= ~(1 << 6)
#define USB_IS_PRESENT (!(GPFDAT & 1))
#define USB_UNIT_IS_PRESENT !(GPFDAT & 0x01)
#define USB_CRADLE_IS_PRESENT ((GPFDAT &0x02)&&!(GPGDAT&0x00004000))
#define USB_CRADLE_BUS_ENABLE GPHDAT |= (1 << 8)
#define USB_CRADLE_BUS_DISABLE GPHDAT &= ~(1 << 8)
/* The usb detect is one pin to the cpu active low */
inline bool usb_detect(void)
{
return USB_IS_PRESENT;
return USB_UNIT_IS_PRESENT | USB_CRADLE_IS_PRESENT;
}
void usb_init_device(void)
{
USB_VPLUS_PWR_ASSERT;
@ -70,8 +70,6 @@ void usb_init_device(void)
sleep(HZ/25);
}
void usb_enable(bool on)
{
if (on)
@ -79,10 +77,12 @@ void usb_enable(bool on)
/* make sure ata_en is high */
USB_VPLUS_PWR_ASSERT;
USB_ATA_ENABLE;
if(USB_CRADLE_IS_PRESENT) USB_CRADLE_BUS_ENABLE;
}
else
{
/* make sure ata_en is low */
if(USB_CRADLE_IS_PRESENT) USB_CRADLE_BUS_DISABLE;
USB_ATA_DISABLE;
USB_VPLUS_PWR_DEASSERT;
}