[U-Boot-Users] [PATCH v2] IDE: fix bug in reset sequence

Martin Krause martin.krause at tqs.de
Fri Apr 4 15:17:18 CEST 2008


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).

The patch was tested on the boards TQM5200, TQM200B and TB5200
(with MPC5200 cpu) with the following IDE Hardware:

- 128 MiB CF Toshiba THNCF128MDG
- 128 MiB CF Toshiba THNCF128MBA
- 4 GiB CF InnoDisk iSmart iCF2000+
- 4 GiB CF SMI 20070312 (labeled with Platinum)
- 4 GiB CF Sony NCFB4G
- 40 GiB HDD Hitachi Travelstar IC25N040ATCS0-4

Signed-off-by: Martin Krause <martin.krause at tqs.de>
---
Hi Jean-Christophe,

thanks for your response! I've tested the patch with 
all IDE devices I found. It would be great if someone 
else could test this on some other hardware.

Regards,
Martin
---

 common/cmd_ide.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)


diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index 8ace970..2d47914 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -1529,6 +1529,9 @@ static void ide_reset (void)
 
 	ide_set_reset (1); /* assert reset */
 
+	/* the reset signal shall be asserted for at least 25 us */
+	udelay(25);
+
 	WATCHDOG_RESET();
 
 #ifdef CFG_PB_12V_ENABLE





More information about the U-Boot mailing list