summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2009-03-17 20:24:55 +0000
committerFrank Gevaerts <frank@gevaerts.be>2009-03-17 20:24:55 +0000
commitac7c88b9356754c42fa667b4c59c140ee8f2c8f8 (patch)
tree7f2f6810bafbc11536f8208ea6d281533294cf89
parent1b3a96d21a76d921339d41bf6cc388425d9dc982 (diff)
downloadrockbox-ac7c88b9356754c42fa667b4c59c140ee8f2c8f8.tar.gz
rockbox-ac7c88b9356754c42fa667b4c59c140ee8f2c8f8.zip
Make USB on sansas more reliable (FS#10026). Both fixes by Toni Hellmann
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20344 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/usb-drv-arc.c2
-rw-r--r--firmware/target/arm/usb-fw-pp502x.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/firmware/target/arm/usb-drv-arc.c b/firmware/target/arm/usb-drv-arc.c
index af97e3e174..aafdbd1f2a 100644
--- a/firmware/target/arm/usb-drv-arc.c
+++ b/firmware/target/arm/usb-drv-arc.c
@@ -410,7 +410,7 @@ void usb_drv_reset(void)
udelay(10);
outl(inl(0x70000028) | 0x800, 0x70000028);
outl(inl(0x70000028) & ~0x800, 0x70000028);
- while (inl(0x70000028) & 0x80);
+ while ((inl(0x70000028) & 0x80) == 0);
#endif
}
diff --git a/firmware/target/arm/usb-fw-pp502x.c b/firmware/target/arm/usb-fw-pp502x.c
index cf5a82f37c..82be770889 100644
--- a/firmware/target/arm/usb-fw-pp502x.c
+++ b/firmware/target/arm/usb-fw-pp502x.c
@@ -106,6 +106,7 @@ void usb_init_device(void)
while ((inl(0x70000028) & 0x80) == 0);
outl(inl(0x70000028) | 0x2, 0x70000028);
udelay(100000);
+ XMB_RAM_CFG |= 0x47A;
/* Do one-time inits */
usb_drv_startup();