X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=arch%2Favr32%2Flib%2Fboard.c;h=d7a64b48727aedaf5879ace43dd1faf9f3b759e0;hb=74b5b5dbc3345a8fad4bc798f8f88d07d2ef0008;hp=8b56237f1893d705807ad5735c0e0d78664ca9fd;hpb=1032d97496f6d534bf0030a5779ff1cb38cc9ebf;p=oweals%2Fu-boot.git diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c index 8b56237f18..d7a64b4872 100644 --- a/arch/avr32/lib/board.c +++ b/arch/avr32/lib/board.c @@ -23,27 +23,27 @@ #include #include #include -#include #include #include +#include #ifdef CONFIG_BITBANGMII #include #endif -#include #include #include +#include #ifndef CONFIG_IDENT_STRING #define CONFIG_IDENT_STRING "" #endif +#ifdef CONFIG_GENERIC_ATMEL_MCI +#include +#endif DECLARE_GLOBAL_DATA_PTR; -const char version_string[] = - U_BOOT_VERSION " ("U_BOOT_DATE" - "U_BOOT_TIME") " CONFIG_IDENT_STRING; - unsigned long monitor_flash_len; /* Weak aliases for optional board functions */ @@ -54,6 +54,13 @@ static int __do_nothing(void) int board_postclk_init(void) __attribute__((weak, alias("__do_nothing"))); int board_early_init_r(void) __attribute__((weak, alias("__do_nothing"))); +/* provide cpu_mmc_init, to overwrite provide board_mmc_init */ +int cpu_mmc_init(bd_t *bd) +{ + /* This calls the atmel_mci_init in gen_atmel_mci.c */ + return atmel_mci_init((void *)ATMEL_BASE_MMCI); +} + #ifdef CONFIG_SYS_DMA_ALLOC_LEN #include #include @@ -100,25 +107,16 @@ static inline void dma_alloc_init(void) static int init_baudrate(void) { - char tmp[64]; - int i; - - i = getenv_f("baudrate", tmp, sizeof(tmp)); - if (i > 0) { - gd->baudrate = simple_strtoul(tmp, NULL, 10); - } else { - gd->baudrate = CONFIG_BAUDRATE; - } + gd->baudrate = getenv_ulong("baudrate", 10, CONFIG_BAUDRATE); return 0; } - static int display_banner (void) { printf ("\n\n%s\n\n", version_string); printf ("U-Boot code: %08lx -> %08lx data: %08lx -> %08lx\n", (unsigned long)_text, (unsigned long)_etext, - (unsigned long)_data, (unsigned long)_end); + (unsigned long)_data, (unsigned long)__bss_end__); return 0; } @@ -190,7 +188,7 @@ void board_init_f(ulong board_type) * - stack */ addr = CONFIG_SYS_SDRAM_BASE + sdram_size; - monitor_len = _end - _text; + monitor_len = __bss_end__ - _text; /* * Reserve memory for u-boot code, data and bss. @@ -256,7 +254,6 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) #ifndef CONFIG_ENV_IS_NOWHERE extern char * env_name_spec; #endif - char *s; bd_t *bd; gd = new_gd; @@ -318,29 +315,24 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) /* initialize environment */ env_relocate(); - bd->bi_ip_addr = getenv_IPaddr ("ipaddr"); - stdio_init(); jumptable_init(); console_init_r(); - s = getenv("loadaddr"); - if (s) - load_addr = simple_strtoul(s, NULL, 16); + /* Initialize from environment */ + load_addr = getenv_ulong("loadaddr", 16, load_addr); #ifdef CONFIG_BITBANGMII bb_miiphy_init(); #endif #if defined(CONFIG_CMD_NET) - s = getenv("bootfile"); - if (s) - copy_filename(BootFile, s, sizeof(BootFile)); -#if defined(CONFIG_NET_MULTI) puts("Net: "); -#endif eth_initialize(gd->bd); #endif +#ifdef CONFIG_GENERIC_ATMEL_MCI + mmc_initialize(gd->bd); +#endif for (;;) { main_loop(); }