summaryrefslogtreecommitdiffstats
path: root/lib_ppc
diff options
context:
space:
mode:
authorwdenk <wdenk>2004-01-20 23:12:12 +0000
committerwdenk <wdenk>2004-01-20 23:12:12 +0000
commitc837dcb1a316745092567bfe4fb266d0941884ff (patch)
tree8b275e8c982d1b0a411ff33c08c86cd3d343eed6 /lib_ppc
parentb0aef11c9f1f98d018adaa484f1e048fa626801e (diff)
downloadbootable_bootloader_goldelico_gta04-c837dcb1a316745092567bfe4fb266d0941884ff.zip
bootable_bootloader_goldelico_gta04-c837dcb1a316745092567bfe4fb266d0941884ff.tar.gz
bootable_bootloader_goldelico_gta04-c837dcb1a316745092567bfe4fb266d0941884ff.tar.bz2
* The PS/2 mux on the BMS2003 board needs 450 ms after power on
before we can access it; add delay in case we are faster (with no CF card inserted) * Cleanup of some init functions * Make sure SCC Ethernet is always stopped by the time we boot Linux to avoid Linux crashes by early packets coming in. * Accelerate flash accesses on LWMON board by using buffered writes
Diffstat (limited to 'lib_ppc')
-rw-r--r--lib_ppc/board.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index d18a9a3..c495d49 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -257,10 +257,9 @@ static int init_func_watchdog_reset (void)
init_fnc_t *init_sequence[] = {
-#if defined(CONFIG_BOARD_PRE_INIT)
- board_pre_init, /* very early board init code (fpga boot, etc.) */
+#if defined(CONFIG_BOARD_EARLY_INIT_F)
+ board_early_init_f,
#endif
-
get_clocks, /* get CPU and bus clocks (etc.) */
init_timebase,
#ifdef CFG_ALLOC_DPRAM
@@ -286,11 +285,7 @@ init_fnc_t *init_sequence[] = {
#endif /* CONFIG_MPC5XXX */
checkboard,
INIT_FUNC_WATCHDOG_INIT
-#if defined(CONFIG_BMW) || \
- defined(CONFIG_COGENT) || \
- defined(CONFIG_HYMOD) || \
- defined(CONFIG_RSD_PROTO) || \
- defined(CONFIG_W7O)
+#if defined(CONFIG_MISC_INIT_F)
misc_init_f,
#endif
INIT_FUNC_WATCHDOG_RESET
@@ -460,15 +455,15 @@ void board_init_f (ulong bootflag)
* Save local variables to board info struct
*/
- bd->bi_memstart = CFG_SDRAM_BASE; /* start of DRAM memory */
+ bd->bi_memstart = CFG_SDRAM_BASE; /* start of DRAM memory */
bd->bi_memsize = gd->ram_size; /* size of DRAM memory in bytes */
#ifdef CONFIG_IP860
- bd->bi_sramstart = SRAM_BASE; /* start of SRAM memory */
- bd->bi_sramsize = SRAM_SIZE; /* size of SRAM memory */
+ bd->bi_sramstart = SRAM_BASE; /* start of SRAM memory */
+ bd->bi_sramsize = SRAM_SIZE; /* size of SRAM memory */
#else
- bd->bi_sramstart = 0; /* FIXME */ /* start of SRAM memory */
- bd->bi_sramsize = 0; /* FIXME */ /* size of SRAM memory */
+ bd->bi_sramstart = 0; /* FIXME */ /* start of SRAM memory */
+ bd->bi_sramsize = 0; /* FIXME */ /* size of SRAM memory */
#endif
#if defined(CONFIG_8xx) || defined(CONFIG_8260) || defined(CONFIG_5xx) || \
@@ -569,6 +564,10 @@ void board_init_r (gd_t *id, ulong dest_addr)
WATCHDOG_RESET ();
+#if defined(CONFIG_BOARD_EARLY_INIT_R)
+ board_early_init_r ();
+#endif
+
gd->reloc_off = dest_addr - CFG_MONITOR_BASE;
monitor_flash_len = (ulong)&__init_end - dest_addr;
@@ -622,7 +621,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
#endif
#if defined(CFG_INIT_RAM_LOCK) && defined(CONFIG_E500)
- unlock_ram_in_cache(); /* it's time to unlock D-cache in e500 */
+ unlock_ram_in_cache(); /* it's time to unlock D-cache in e500 */
#endif
#if defined(CONFIG_BAB7xx) || defined(CONFIG_CPC45)