diff options
Diffstat (limited to 'board/emk/top5200/top5200.c')
-rw-r--r-- | board/emk/top5200/top5200.c | 27 |
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 |