diff options
Diffstat (limited to 'lib_ppc/board.c')
| -rw-r--r-- | lib_ppc/board.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib_ppc/board.c b/lib_ppc/board.c index a11d3c0fd2a..24e8e970b36 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -72,6 +72,14 @@ #include <keyboard.h> #endif +#ifdef CFG_UPDATE_FLASH_SIZE +extern int update_flash_size (int flash_size); +#endif + +#if defined(CONFIG_SOLIDCARD3) +extern void sc3_read_eeprom(void); +#endif + #if (CONFIG_COMMANDS & CFG_CMD_DOC) void doc_init (void); #endif @@ -89,6 +97,9 @@ static char *failed = "*** failed ***\n"; extern flash_info_t flash_info[]; #endif +#if defined(CONFIG_START_IDE) +extern int board_start_ide(void); +#endif #include <environment.h> DECLARE_GLOBAL_DATA_PTR; @@ -730,6 +741,13 @@ void board_init_r (gd_t *id, ulong dest_addr) bd->bi_flashstart = CFG_FLASH_BASE; /* update start of FLASH memory */ bd->bi_flashsize = flash_size; /* size of FLASH memory (final value) */ + +#if defined(CFG_UPDATE_FLASH_SIZE) + /* Make a update of the Memctrl. */ + update_flash_size (flash_size); +#endif + + # if defined(CONFIG_PCU_E) || defined(CONFIG_OXC) || defined(CONFIG_RMU) /* flash mapped at end of memory map */ bd->bi_flashoffset = TEXT_BASE + flash_size; @@ -804,6 +822,9 @@ void board_init_r (gd_t *id, ulong dest_addr) #endif /* CONFIG_405GP, CONFIG_405EP */ #endif /* CFG_EXTBDINFO */ +#if defined(CONFIG_SOLIDCARD3) + sc3_read_eeprom(); +#endif s = getenv ("ethaddr"); #if defined (CONFIG_MBX) || \ defined (CONFIG_RPXCLASSIC) || \ @@ -876,6 +897,7 @@ void board_init_r (gd_t *id, ulong dest_addr) #endif #if defined(CONFIG_TQM8xxL) || defined(CONFIG_TQM8260) || \ + defined(CONFIG_TQM8272) || \ defined(CONFIG_CCM) || defined(CONFIG_KUP4K) || defined(CONFIG_KUP4X) load_sernum_ethaddr (); #endif @@ -909,6 +931,7 @@ void board_init_r (gd_t *id, ulong dest_addr) defined(CONFIG_KUP4X) || \ defined(CONFIG_LWMON) || \ defined(CONFIG_PCU_E) || \ + defined(CONFIG_SOLIDCARD3) || \ defined(CONFIG_W7O) || \ defined(CONFIG_MISC_INIT_R) /* miscellaneous platform dependent initialisations */ @@ -1018,7 +1041,12 @@ void board_init_r (gd_t *id, ulong dest_addr) # else puts ("IDE: "); #endif +#if defined(CONFIG_START_IDE) + if (board_start_ide()) + ide_init (); +#else ide_init (); +#endif #endif /* CFG_CMD_IDE */ #ifdef CONFIG_LAST_STAGE_INIT |
