@ -74,15 +74,15 @@ void board_init_f(ulong not_used)
{
bd_t * bd ;
init_fnc_t * * init_fnc_ptr ;
gd = ( gd_t * ) ( CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET ) ;
bd = ( bd_t * ) ( CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET \
gd = ( gd_t * ) ( CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET ) ;
bd = ( bd_t * ) ( CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET
- GENERATED_BD_INFO_SIZE ) ;
# if defined(CONFIG_CMD_FLASH)
ulong flash_size = 0 ;
# endif
asm ( " nop " ) ; /* FIXME gd is not initialize - wait */
memset ( ( void * ) gd , 0 , GENERATED_GBL_DATA_SIZE ) ;
memset ( ( void * ) bd , 0 , GENERATED_BD_INFO_SIZE ) ;
memset ( ( void * ) gd , 0 , GENERATED_GBL_DATA_SIZE ) ;
memset ( ( void * ) bd , 0 , GENERATED_BD_INFO_SIZE ) ;
gd - > bd = bd ;
gd - > baudrate = CONFIG_BAUDRATE ;
bd - > bi_baudrate = CONFIG_BAUDRATE ;
@ -108,57 +108,55 @@ void board_init_f(ulong not_used)
* aka CONFIG_SYS_MONITOR_BASE - Note there is no need for reloc_off
* as our monitory code is run from SDRAM
*/
mem_malloc_init ( CONFIG_SYS_MALLOC_BASE , CONFIG_SYS_MALLOC_LEN ) ;
mem_malloc_init ( CONFIG_SYS_MALLOC_BASE , CONFIG_SYS_MALLOC_LEN ) ;
serial_initialize ( ) ;
for ( init_fnc_ptr = init_sequence ; * init_fnc_ptr ; + + init_fnc_ptr ) {
WATCHDOG_RESET ( ) ;
if ( ( * init_fnc_ptr ) ( ) ! = 0 ) {
hang ( ) ;
}
WATCHDOG_RESET ( ) ;
if ( ( * init_fnc_ptr ) ( ) ! = 0 )
hang ( ) ;
}
# ifdef CONFIG_OF_CONTROL
/* For now, put this check after the console is ready */
if ( fdtdec_prepare_fdt ( ) ) {
panic ( " ** CONFIG_OF_CONTROL defined but no FDT - please see "
" doc/README.fdt-control " ) ;
} else
if ( fdtdec_prepare_fdt ( ) )
panic ( " ** No FDT - please see doc/README.fdt-control " ) ;
else
printf ( " DTB: 0x%x \n " , ( u32 ) gd - > fdt_blob ) ;
# endif
puts ( " SDRAM : \n " ) ;
printf ( " \t \t Icache:%s \n " , icache_status ( ) ? " ON " : " OFF " ) ;
printf ( " \t \t Dcache:%s \n " , dcache_status ( ) ? " ON " : " OFF " ) ;
printf ( " \t U-Boot Start:0x%08x \n " , CONFIG_SYS_TEXT_BASE ) ;
puts ( " SDRAM : \n " ) ;
printf ( " \t \t Icache:%s \n " , icache_status ( ) ? " ON " : " OFF " ) ;
printf ( " \t \t Dcache:%s \n " , dcache_status ( ) ? " ON " : " OFF " ) ;
printf ( " \t U-Boot Start:0x%08x \n " , CONFIG_SYS_TEXT_BASE ) ;
# if defined(CONFIG_CMD_FLASH)
puts ( " Flash: " ) ;
puts ( " Flash: " ) ;
bd - > bi_flashstart = CONFIG_SYS_FLASH_BASE ;
flash_size = flash_init ( ) ;
if ( bd - > bi_flashstart & & flash_size > 0 ) {
# ifdef CONFIG_SYS_FLASH_CHECKSUM
print_size ( flash_size , " " ) ;
print_size ( flash_size , " " ) ;
/*
* Compute and print flash CRC if flashchecksum is set to ' y '
*
* NOTE : Maybe we should add some WATCHDOG_RESET ( ) ? XXX
*/
if ( getenv_yesno ( " flashchecksum " ) = = 1 ) {
printf ( " CRC: %08X " ,
crc32 ( 0 , ( const u8 * ) bd - > bi_flashstart ,
flash_size )
printf ( " CRC: %08X " ,
crc32 ( 0 , ( const u8 * ) bd - > bi_flashstart ,
flash_size )
) ;
}
putc ( ' \n ' ) ;
putc ( ' \n ' ) ;
# else /* !CONFIG_SYS_FLASH_CHECKSUM */
print_size ( flash_size , " \n " ) ;
print_size ( flash_size , " \n " ) ;
# endif /* CONFIG_SYS_FLASH_CHECKSUM */
bd - > bi_flashsize = flash_size ;
bd - > bi_flashoffset = bd - > bi_flashstart + flash_size ;
} else {
puts ( " Flash init FAILED " ) ;
puts ( " Flash init FAILED " ) ;
bd - > bi_flashstart = 0 ;
bd - > bi_flashsize = 0 ;
bd - > bi_flashoffset = 0 ;
@ -166,10 +164,10 @@ void board_init_f(ulong not_used)
# endif
/* relocate environment function pointers etc. */
env_relocate ( ) ;
env_relocate ( ) ;
/* Initialize stdio devices */
stdio_init ( ) ;
stdio_init ( ) ;
/* Initialize the jump table for applications */
jumptable_init ( ) ;
@ -193,13 +191,14 @@ void board_init_f(ulong not_used)
/* main_loop */
for ( ; ; ) {
WATCHDOG_RESET ( ) ;
main_loop ( ) ;
WATCHDOG_RESET ( ) ;
main_loop ( ) ;
}
}
void hang ( void )
void hang ( void )
{
puts ( " ### ERROR ### Please RESET the board ### \n " ) ;
for ( ; ; ) ;
puts ( " ### ERROR ### Please RESET the board ### \n " ) ;
for ( ; ; )
;
}