diff options
Diffstat (limited to 'lib_arm/board.c')
| -rw-r--r-- | lib_arm/board.c | 25 | 
1 files changed, 10 insertions, 15 deletions
| diff --git a/lib_arm/board.c b/lib_arm/board.c index b6b5cdb76..31cdd9ccd 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -46,9 +46,7 @@ static ulong mem_malloc_start = 0;  static ulong mem_malloc_end = 0;  static ulong mem_malloc_brk = 0; -#if !defined(CONFIG_MODEM_SUPPORT)  static -#endif  void mem_malloc_init (ulong dest_addr)  {  	mem_malloc_start = dest_addr; @@ -187,7 +185,7 @@ void start_armboot (void)  	gd_t gd_data;  	bd_t bd_data;  	init_fnc_t **init_fnc_ptr; -#if defined(CONFIG_VFD) && !defined(CONFIG_MODEM_SUPPORT) +#if defined(CONFIG_VFD)  	unsigned long addr;  #endif @@ -208,10 +206,9 @@ void start_armboot (void)  	display_flash_config (size);  #ifdef CONFIG_VFD -#ifndef CONFIG_MODEM_SUPPORT -#ifndef PAGE_SIZE -#define PAGE_SIZE 4096 -#endif +#  ifndef PAGE_SIZE +#   define PAGE_SIZE 4096 +#  endif  	/*  	 * reserve memory for VFD display (always full pages)  	 */ @@ -223,20 +220,18 @@ void start_armboot (void)  	addr += size;  	addr = (addr + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);  	mem_malloc_init (addr); -#endif /* CONFIG_MODEM_SUPPORT */  #else  	/* armboot_real_end is defined in the board-specific linker script */  	mem_malloc_init (_armboot_real_end);  #endif /* CONFIG_VFD */ +	/* initialize environment */ +	env_relocate (); +  #ifdef CONFIG_VFD -#ifndef CONFIG_MODEM_SUPPORT  	/* must do this after the framebuffer is allocated */  	drv_vfd_init(); -#endif /* CONFIG_MODEM_SUPPORT */  #endif -	/* initialize environment */ -	env_relocate ();  	/* IP Address */  	bd_data.bi_ip_addr = getenv_IPaddr ("ipaddr"); @@ -267,15 +262,15 @@ void start_armboot (void)  	enable_interrupts ();  #ifdef CONFIG_DRIVER_CS8900 -	if (!getenv ("ethaddr")) { -		cs8900_get_enetaddr (gd->bd->bi_enetaddr); -	} +	cs8900_get_enetaddr (gd->bd->bi_enetaddr);  #endif  #ifdef BOARD_POST_INIT  	board_post_init ();  #endif +printf ("### vfd_type=0x%02X vfd_data_lines_inv=%d\n",gd->vfd_type,gd->vfd_inv_data); +  	/* main_loop() can return to retry autoboot, if so just run it again. */  	for (;;) {  		main_loop (); |