diff options
author | Heiko Schocher <hs@pollux.denx.de> | 2007-08-28 17:40:33 +0200 |
---|---|---|
committer | Heiko Schocher <hs@pollux.denx.de> | 2007-08-28 17:40:33 +0200 |
commit | a861558c65f65f1cf1302f3a35e9db7686b9e1a3 (patch) | |
tree | 7ba0f0a461f1f4311e0bcfffa574ebc04a950d05 | |
parent | f98984cb194bb34dbe1db9429d3b51133af30d07 (diff) | |
download | u-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.c | 8 | ||||
-rw-r--r-- | include/configs/uc101.h | 1 |
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 |