summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schocher <hs@pollux.denx.de>2007-08-28 17:40:33 +0200
committerHeiko Schocher <hs@pollux.denx.de>2007-08-28 17:40:33 +0200
commita861558c65f65f1cf1302f3a35e9db7686b9e1a3 (patch)
tree7ba0f0a461f1f4311e0bcfffa574ebc04a950d05
parentf98984cb194bb34dbe1db9429d3b51133af30d07 (diff)
downloadu-boot-imx-a861558c65f65f1cf1302f3a35e9db7686b9e1a3.zip
u-boot-imx-a861558c65f65f1cf1302f3a35e9db7686b9e1a3.tar.gz
u-boot-imx-a861558c65f65f1cf1302f3a35e9db7686b9e1a3.tar.bz2
[UC101] Fix: if no CF in the board, U-Boot resets sometimes.
Signed-off-by: Heiko Schocher <hs@denx.de>
-rw-r--r--cpu/mpc5xxx/ide.c8
-rw-r--r--include/configs/uc101.h1
2 files changed, 8 insertions, 1 deletions
diff --git a/cpu/mpc5xxx/ide.c b/cpu/mpc5xxx/ide.c
index 087ddac..344e6f2 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 3b471d0..aed80ec 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