X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=lib_microblaze%2Fboard.c;h=1a426400ecd7b29273883a04f8ef75fc43631e8f;hb=5f58f8d20f97deaf4dde7eb3886efa3e5a3715ee;hp=250972cb6923bd1f581737bd65c30b04d1b7dcf6;hpb=561858ee7d0274c3e89dc98d4d0698cb6fcf6fd9;p=oweals%2Fu-boot.git diff --git a/lib_microblaze/board.c b/lib_microblaze/board.c index 250972cb69..1a426400ec 100644 --- a/lib_microblaze/board.c +++ b/lib_microblaze/board.c @@ -111,6 +111,10 @@ void board_init (void) gd = (gd_t *) CONFIG_SYS_GBL_DATA_OFFSET; #if defined(CONFIG_CMD_FLASH) ulong flash_size = 0; +#endif +#if defined(CONFIG_CMD_NET) + char *s, *e; + int i; #endif asm ("nop"); /* FIXME gd is not initialize - wait */ memset ((void *)gd, 0, CONFIG_SYS_GBL_DATA_SIZE); @@ -120,6 +124,7 @@ void board_init (void) bd->bi_baudrate = CONFIG_BAUDRATE; bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; + gd->flags |= GD_FLG_RELOC; /* tell others: relocation done */ /* Initialise malloc() area */ mem_malloc_init (); @@ -131,11 +136,34 @@ void board_init (void) } } + puts ("SDRAM :\n"); + printf ("\t\tIcache:%s\n", icache_status() ? "OK" : "FAIL"); + printf ("\t\tDcache:%s\n", dcache_status() ? "OK" : "FAIL"); + printf ("\tU-Boot Start:0x%08x\n", TEXT_BASE); + #if defined(CONFIG_CMD_FLASH) + puts ("FLASH: "); bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; if (0 < (flash_size = flash_init ())) { bd->bi_flashsize = flash_size; bd->bi_flashoffset = CONFIG_SYS_FLASH_BASE + flash_size; +# ifdef CONFIG_SYS_FLASH_CHECKSUM + print_size (flash_size, ""); + /* + * Compute and print flash CRC if flashchecksum is set to 'y' + * + * NOTE: Maybe we should add some WATCHDOG_RESET()? XXX + */ + s = getenv ("flashchecksum"); + if (s && (*s == 'y')) { + printf (" CRC: %08X", + crc32 (0, (const unsigned char *) CONFIG_SYS_FLASH_BASE, flash_size) + ); + } + putc ('\n'); +# else /* !CONFIG_SYS_FLASH_CHECKSUM */ + print_size (flash_size, "\n"); +# endif /* CONFIG_SYS_FLASH_CHECKSUM */ } else { puts ("Flash init FAILED"); bd->bi_flashstart = 0; @@ -145,15 +173,6 @@ void board_init (void) #endif #if defined(CONFIG_CMD_NET) - char *s, *e; - int i; - /* board MAC address */ - s = getenv ("ethaddr"); - for (i = 0; i < 6; ++i) { - bd->bi_enetaddr[i] = s ? simple_strtoul (s, &e, 16) : 0; - if (s) - s = (*e) ? e + 1 : e; - } /* IP Address */ bd->bi_ip_addr = getenv_IPaddr ("ipaddr"); eth_init (bd);