summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2008-04-07 13:00:28 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2008-04-07 13:00:28 +0000
commit95f7b4db01804dec3f295161f10b23d19c305217 (patch)
tree572c961061ce8f057e3e683e86dc37868acc5665
parent5d4c7d7aaab5b4aaebe897d88452de808960a8c2 (diff)
Hopefully fix FS#8506 (OF cant be loaded on some PP targets). also hopefully fixes usb detection for at least e200
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17017 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/usb-fw-pp502x.c9
-rw-r--r--firmware/usb.c3
2 files changed, 7 insertions, 5 deletions
diff --git a/firmware/target/arm/usb-fw-pp502x.c b/firmware/target/arm/usb-fw-pp502x.c
index ac5acbb71a..47c120715e 100644
--- a/firmware/target/arm/usb-fw-pp502x.c
+++ b/firmware/target/arm/usb-fw-pp502x.c
@@ -52,11 +52,13 @@ void usb_init_device(void)
/* disable USB-devices until USB is detected via GPIO */
#ifndef BOOTLOADER
- /* Disabling USB0 in the bootloader makes the OF not load */
+ /* Disabling USB0 in the bootloader makes the OF not load,
+ Also something here breaks usb pin detect in bootloader.
+ leave it all enabled untill rockbox main loads */
DEV_EN &= ~DEV_USB0;
-#endif
DEV_EN &= ~DEV_USB1;
DEV_INIT2 &= ~INIT_USB;
+#endif
#if defined(IPOD_COLOR) || defined(IPOD_4G) \
|| defined(IPOD_MINI) || defined(IPOD_MINI2G)
@@ -78,10 +80,7 @@ void usb_enable(bool on)
else {
usb_core_exit();
/* Disable USB devices */
-#ifndef BOOTLOADER
- /* Disabling USB0 in the bootloader makes the OF not load */
DEV_EN &=~ DEV_USB0;
-#endif
DEV_EN &=~ DEV_USB1;
DEV_INIT2 &=~ INIT_USB;
}
diff --git a/firmware/usb.c b/firmware/usb.c
index c33b62f244..99b2f64612 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -253,6 +253,7 @@ static void usb_thread(void)
#ifndef USE_ROCKBOX_USB
/* until we have native mass-storage mode, we want to reboot on
usb host connect */
+ usb_enable(true);
try_reboot();
#endif /* USE_ROCKBOX_USB */
#ifdef HAVE_PRIORITY_SCHEDULING
@@ -460,7 +461,9 @@ void usb_init(void)
#endif
usb_init_device();
+#ifndef BOOTLOADER
usb_enable(false);
+#endif
/* We assume that the USB cable is extracted */
last_usb_status = USB_EXTRACTED;