From a861558c65f65f1cf1302f3a35e9db7686b9e1a3 Mon Sep 17 00:00:00 2001
From: Heiko Schocher <hs@pollux.denx.de>
Date: Tue, 28 Aug 2007 17:40:33 +0200
Subject: [PATCH] [UC101] Fix: if no CF in the board, U-Boot resets sometimes.

Signed-off-by: Heiko Schocher <hs@denx.de>
---
 cpu/mpc5xxx/ide.c       | 8 ++++++++
 include/configs/uc101.h | 1 -
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/cpu/mpc5xxx/ide.c b/cpu/mpc5xxx/ide.c
index 087ddac109..344e6f2029 100644
--- a/cpu/mpc5xxx/ide.c
+++ b/cpu/mpc5xxx/ide.c
@@ -54,11 +54,19 @@ int ide_preinit (void)
 	/* All sample codes do that... */
 	*(vu_long *) MPC5XXX_ATA_SHARE_COUNT = 0;
 
+#if defined(CONFIG_UC101)
+	/* Configure and reset host */
+	*(vu_long *) MPC5XXX_ATA_HOST_CONFIG = 
+		MPC5xxx_ATA_HOSTCONF_SMR | MPC5xxx_ATA_HOSTCONF_FR;
+	udelay (10);
+	*(vu_long *) MPC5XXX_ATA_HOST_CONFIG = 0;
+#else
 	/* Configure and reset host */
 	*(vu_long *) MPC5XXX_ATA_HOST_CONFIG = MPC5xxx_ATA_HOSTCONF_IORDY |
 		MPC5xxx_ATA_HOSTCONF_SMR | MPC5xxx_ATA_HOSTCONF_FR;
 	udelay (10);
 	*(vu_long *) MPC5XXX_ATA_HOST_CONFIG = MPC5xxx_ATA_HOSTCONF_IORDY;
+#endif
 
 	/* Disable prefetch on Commbus */
 	psdma->PtdCntrl |= 1;
diff --git a/include/configs/uc101.h b/include/configs/uc101.h
index 3b471d0a97..aed80ec1e5 100644
--- a/include/configs/uc101.h
+++ b/include/configs/uc101.h
@@ -332,7 +332,6 @@
 #define CFG_IDE_MAXDEVICE	2	/* max. 2 drives per IDE bus	*/
 
 #define CONFIG_IDE_PREINIT	1
-/* #define CONFIG_IDE_RESET	1 beispile siehe tqm5200.c */
 
 #define CFG_ATA_IDE0_OFFSET	0x0000
 
-- 
2.25.1