summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2008-02-22 20:08:53 +0000
committerFrank Gevaerts <frank@gevaerts.be>2008-02-22 20:08:53 +0000
commit523af276c1b6cebb56977394db40c652e12625e0 (patch)
tree94f2f3d829f26e97d5a0fc16997f6aae73da2ccf /firmware
parent766587e3cb15f8ac8009605fa151ea032c43794d (diff)
downloadrockbox-523af276c1b6cebb56977394db40c652e12625e0.tar.gz
rockbox-523af276c1b6cebb56977394db40c652e12625e0.zip
Only allow high-speed usb if USE_HIGH_SPEED is defined. It still causes data corruption (full speed should be safe)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16368 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/usb-drv-pp502x.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/target/arm/usb-drv-pp502x.c b/firmware/target/arm/usb-drv-pp502x.c
index c1e2945ce3..fd95fee8fc 100644
--- a/firmware/target/arm/usb-drv-pp502x.c
+++ b/firmware/target/arm/usb-drv-pp502x.c
@@ -361,6 +361,12 @@ void usb_drv_init(void)
REG_USBMODE = USBMODE_CTRL_MODE_DEVICE;
+#ifndef USE_HIGH_SPEED
+ /* Force device to full speed */
+ /* See 32.9.5.9.2 */
+ REG_PORTSC1 |= PORTSCX_PORT_FORCE_FULL_SPEED;
+#endif
+
td_array = (struct transfer_descriptor*)UNCACHED_ADDR(&_td_array);
qh_array = (struct queue_head*)UNCACHED_ADDR(&_qh_array);
init_control_queue_heads();