Index: firmware/target/arm/usb-s3c6400x.c
===================================================================
--- firmware/target/arm/usb-s3c6400x.c	(revision 29793)
+++ firmware/target/arm/usb-s3c6400x.c	(arbetskopia)
@@ -132,19 +132,24 @@
 
 static void usb_reset(void)
 {
-    volatile int i;
-
     DCTL = 0x802;  /* Soft Disconnect */
 
     OPHYPWR = 0;  /* PHY: Power up */
+    udelay(10);
+
     OPHYUNK1 = 1;
     OPHYUNK2 = 0xE3F;
-    OPHYCLK = SYNOPSYSOTG_CLOCK;
+
     ORSTCON = 1;  /* PHY: Assert Software Reset */
-    for (i = 0; i < 50; i++);
+    udelay(10);
     ORSTCON = 0;  /* PHY: Deassert Software Reset */
+    udelay(10);
+
     OPHYUNK3 = 0x600;
 
+    OPHYCLK = SYNOPSYSOTG_CLOCK;
+    udelay(400);
+
     GRSTCTL = 1;  /* OTG: Assert Software Reset */
     while (GRSTCTL & 1);  /* Wait for OTG to ack reset */
     while (!(GRSTCTL & 0x80000000));  /* Wait for OTG AHB master idle */
