IDE: fix bug in reset sequence
authorMartin Krause <martin.krause@tqs.de>
Thu, 3 Apr 2008 11:37:56 +0000 (13:37 +0200)
committerWolfgang Denk <wd@denx.de>
Thu, 17 Apr 2008 21:26:48 +0000 (14:26 -0700)
According to the ata (ata5) specification the RESET- signal
shall be asserted for at least 25 us. Without this patch,
the RESET- signal is asserted on some boards for only < 1 us
(e. g. on the TQM5200). This patch adds a general delay of
25 us to the RESET- signal.

Without this patch a Platinum 4 GiB CF card is not recognised
properly on boards with a TQM5200 (STK52xx, TB5200).

Signed-off-by: Martin Krause <martin.krause@tqs.de>
common/cmd_ide.c

index 8ace970..f9cd422 100644 (file)
@@ -1529,6 +1529,9 @@ static void ide_reset (void)
 
        ide_set_reset (1); /* assert reset */
 
+       /* the reset signal shall be asserted for et least 25 us */
+       udelay(25);
+
        WATCHDOG_RESET();
 
 #ifdef CFG_PB_12V_ENABLE