diff options
author | Wolfgang Denk <wd@denx.de> | 2008-06-05 01:12:30 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-06-05 01:12:30 +0200 |
commit | 8155efbd7ae9c65564ca98affe94631d612ae088 (patch) | |
tree | 23f89ba651f48bf88c653796cb64f2c58d2f0515 /lib_arm | |
parent | 5e1882df6a3efc7de5524d28cea4ecde7d163d54 (diff) | |
parent | 9ef1cbef1a649e3779298b0e663be4865cbbbfbc (diff) | |
download | u-boot-imx-8155efbd7ae9c65564ca98affe94631d612ae088.zip u-boot-imx-8155efbd7ae9c65564ca98affe94631d612ae088.tar.gz u-boot-imx-8155efbd7ae9c65564ca98affe94631d612ae088.tar.bz2 |
Merge branch 'master' of ssh://mercury/home/wd/git/u-boot/master
Diffstat (limited to 'lib_arm')
-rw-r--r-- | lib_arm/board.c | 49 |
1 files changed, 30 insertions, 19 deletions
diff --git a/lib_arm/board.c b/lib_arm/board.c index 67506b3..80b149b 100644 --- a/lib_arm/board.c +++ b/lib_arm/board.c @@ -45,6 +45,8 @@ #include <version.h> #include <net.h> #include <serial.h> +#include <nand.h> +#include <onenand_uboot.h> #ifdef CONFIG_DRIVER_SMC91111 #include "../drivers/net/smc91111.h" @@ -55,14 +57,6 @@ DECLARE_GLOBAL_DATA_PTR; -#if defined(CONFIG_CMD_NAND) -void nand_init (void); -#endif - -#if defined(CONFIG_CMD_ONENAND) -void onenand_init(void); -#endif - ulong monitor_flash_len; #ifdef CONFIG_HAS_DATAFLASH @@ -121,6 +115,20 @@ void *sbrk (ptrdiff_t increment) return ((void *) old); } +char *strmhz(char *buf, long hz) +{ + long l, n; + long m; + + n = hz / 1000000L; + l = sprintf (buf, "%ld", n); + m = (hz % 1000000L) / 1000L; + if (m != 0) + sprintf (buf + l, ".%03ld", m); + return (buf); +} + + /************************************************************************ * Coloured LED functionality ************************************************************************ @@ -279,7 +287,7 @@ void start_armboot (void) { init_fnc_t **init_fnc_ptr; char *s; -#ifndef CFG_NO_FLASH +#if !defined(CFG_NO_FLASH) || defined (CONFIG_VFD) || defined(CONFIG_LCD) ulong size; #endif #if defined(CONFIG_VFD) || defined(CONFIG_LCD) @@ -323,16 +331,19 @@ void start_armboot (void) #endif /* CONFIG_VFD */ #ifdef CONFIG_LCD -# ifndef PAGE_SIZE -# define PAGE_SIZE 4096 -# endif - /* - * reserve memory for LCD display (always full pages) - */ - /* bss_end is defined in the board-specific linker script */ - addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1); - size = lcd_setmem (addr); - gd->fb_base = addr; + /* board init may have inited fb_base */ + if (!gd->fb_base) { +# ifndef PAGE_SIZE +# define PAGE_SIZE 4096 +# endif + /* + * reserve memory for LCD display (always full pages) + */ + /* bss_end is defined in the board-specific linker script */ + addr = (_bss_end + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1); + size = lcd_setmem (addr); + gd->fb_base = addr; + } #endif /* CONFIG_LCD */ /* armboot_start is defined in the board-specific linker script */ |