return 0;
}
-void board_init_memories(void)
+long int initdram(int board_type)
{
- gd->sdram_size = sdram_init(&sdram);
+ return sdram_init(&sdram);
}
void board_init_info(void)
bd_t *bd;
unsigned long flags;
unsigned long baudrate;
- unsigned long sdram_size;
unsigned long stack_end; /* highest stack address */
unsigned long have_console; /* serial_init() was called */
unsigned long reloc_off; /* Relocation Offset */
extern int cpu_init(void);
extern int timer_init(void);
-extern void board_init_memories(void);
-extern void board_init_pio(void);
extern void board_init_info(void);
#endif /* __ASM_AVR32_INITCALLS_H__ */
printf("at address 0x%08lx\n", gd->bd->bi_flashstart);
}
-void board_init_f(ulong unused)
+void board_init_f(ulong board_type)
{
gd_t gd_data;
gd_t *new_gd;
unsigned long monitor_len;
unsigned long monitor_addr;
unsigned long addr;
+ long sdram_size;
/* Initialize the global data pointer */
memset(&gd_data, 0, sizeof(gd_data));
serial_init();
console_init_f();
display_banner();
- board_init_memories();
+ sdram_size = initdram(board_type);
/* If we have no SDRAM, we can't go on */
- if (!gd->sdram_size)
+ if (sdram_size <= 0)
panic("No working SDRAM available\n");
/*
* - global data struct
* - stack
*/
- addr = CFG_SDRAM_BASE + gd->sdram_size;
+ addr = CFG_SDRAM_BASE + sdram_size;
monitor_len = _end - _text;
/*
* information we have.
*/
bd->bi_dram[0].start = CFG_SDRAM_BASE;
- bd->bi_dram[0].size = gd->sdram_size;
+ bd->bi_dram[0].size = sdram_size;
bd->bi_baudrate = gd->baudrate;
memcpy(new_gd, gd, sizeof(gd_t));