summaryrefslogtreecommitdiff
path: root/board/emk/top5200/top5200.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/emk/top5200/top5200.c')
-rw-r--r--board/emk/top5200/top5200.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/board/emk/top5200/top5200.c b/board/emk/top5200/top5200.c
index b65d2d0..94ba2b4 100644
--- a/board/emk/top5200/top5200.c
+++ b/board/emk/top5200/top5200.c
@@ -113,12 +113,16 @@ int checkboard (void)
#if defined (CONFIG_EVAL5200)
puts ("Board: EMK TOP5200 on EVAL5200\n");
#else
+#if defined (CONFIG_LITE5200)
+ puts ("Board: LITE5200\n");
+#else
#if defined (CONFIG_MINI5200)
puts ("Board: EMK TOP5200 on MINI5200\n");
#else
puts ("Board: EMK TOP5200\n");
#endif
#endif
+#endif
return 0;
}
@@ -155,10 +159,11 @@ void flash_afterinit(uint bank, ulong start, ulong size)
*****************************************************************************/
int misc_init_r (void)
{
+#if !defined (CONFIG_LITE5200)
/* read 'factory' part of EEPROM */
extern void read_factory_r (void);
read_factory_r ();
-
+#endif
return (0);
}
@@ -175,3 +180,23 @@ void pci_init_board(void)
pci_mpc5xxx_init(&hose);
}
#endif
+
+/*****************************************************************************
+ * provide the PCI Reset Function
+ *****************************************************************************/
+#ifdef CFG_CMD_IDE
+#define GPIO_PSC1_4 0x01000000ul
+void ide_set_reset (int idereset)
+{
+ if (idereset) {
+ *(vu_long *) MPC5XXX_WU_GPIO_DATA &= ~GPIO_PSC1_4;
+ } else {
+ *(vu_long *) MPC5XXX_WU_GPIO_DATA |= GPIO_PSC1_4;
+ }
+
+ /* Configure PSC1_4 as GPIO output for ATA reset */
+ /* (it does not matter we do this every time) */
+ *(vu_long *) MPC5XXX_WU_GPIO_ENABLE |= GPIO_PSC1_4;
+ *(vu_long *) MPC5XXX_WU_GPIO_DIR |= GPIO_PSC1_4;
+}
+#endif