summaryrefslogtreecommitdiff
path: root/board/icecube/icecube.c
diff options
context:
space:
mode:
authorwdenk <wdenk>2004-09-28 20:34:50 +0000
committerwdenk <wdenk>2004-09-28 20:34:50 +0000
commit64f70bede37f833d2ed31311ff293c759c41a2a6 (patch)
treed4e41ef699babf7f6792d0894b478aae82b75f46 /board/icecube/icecube.c
parentcce625e557416d06aeddaab0967b3119748cd21e (diff)
downloadu-boot-imx-64f70bede37f833d2ed31311ff293c759c41a2a6.zip
u-boot-imx-64f70bede37f833d2ed31311ff293c759c41a2a6.tar.gz
u-boot-imx-64f70bede37f833d2ed31311ff293c759c41a2a6.tar.bz2
Fix problems with CDROM drive as slave device on Lite5200 IDE bus.
Diffstat (limited to 'board/icecube/icecube.c')
-rw-r--r--board/icecube/icecube.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/board/icecube/icecube.c b/board/icecube/icecube.c
index 15def0c..07c25ed 100644
--- a/board/icecube/icecube.c
+++ b/board/icecube/icecube.c
@@ -288,6 +288,8 @@ void init_ide_reset (void)
/* Configure PSC1_4 as GPIO output for ATA reset */
*(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4;
*(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4;
+ /* Deassert reset */
+ *(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4;
}
void ide_set_reset (int idereset)
@@ -296,6 +298,8 @@ void ide_set_reset (int idereset)
if (idereset) {
*(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4;
+ /* Make a delay. MPC5200 spec says 25 usec min */
+ udelay(500000);
} else {
*(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4;
}