avr32: use board_early_init_r instead of board_init_info
Replace the avr32-specific board_init_info hook by the standard board_early_init_r hook and make it optional. board_early_init_r() runs somewhat earlier than board_init_info used to do, but this isn't a problem for any of the in-tree boards. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
parent
36d375faf5
commit
25e6854d42
|
|
@ -88,10 +88,11 @@ phys_size_t initdram(int board_type)
|
||||||
return actual_size;
|
return actual_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_init_info(void)
|
int board_early_init_r(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_phy_id[0] = 0x01;
|
gd->bd->bi_phy_id[0] = 0x01;
|
||||||
gd->bd->bi_phy_id[1] = 0x03;
|
gd->bd->bi_phy_id[1] = 0x03;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
|
extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
|
||||||
|
|
|
||||||
|
|
@ -110,10 +110,11 @@ phys_size_t initdram(int board_type)
|
||||||
return actual_size;
|
return actual_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_init_info(void)
|
int board_early_init_r(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_phy_id[0] = 0x10;
|
gd->bd->bi_phy_id[0] = 0x10;
|
||||||
gd->bd->bi_phy_id[1] = 0x11;
|
gd->bd->bi_phy_id[1] = 0x11;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
|
extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
|
||||||
|
|
|
||||||
|
|
@ -81,9 +81,10 @@ phys_size_t initdram(int board_type)
|
||||||
return actual_size;
|
return actual_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_init_info(void)
|
int board_early_init_r(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_phy_id[0] = 0x01;
|
gd->bd->bi_phy_id[0] = 0x01;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET)
|
#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET)
|
||||||
|
|
|
||||||
|
|
@ -124,10 +124,11 @@ phys_size_t initdram(int board_type)
|
||||||
return actual_size;
|
return actual_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_init_info(void)
|
int board_early_init_r(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_phy_id[0] = 0x01;
|
gd->bd->bi_phy_id[0] = 0x01;
|
||||||
gd->bd->bi_phy_id[1] = 0x03;
|
gd->bd->bi_phy_id[1] = 0x03;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SPI chip select control */
|
/* SPI chip select control */
|
||||||
|
|
|
||||||
|
|
@ -95,9 +95,10 @@ phys_size_t initdram(int board_type)
|
||||||
return actual_size;
|
return actual_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
void board_init_info(void)
|
int board_early_init_r(void)
|
||||||
{
|
{
|
||||||
gd->bd->bi_phy_id[0] = 0x01;
|
gd->bd->bi_phy_id[0] = 0x01;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int board_postclk_init(void)
|
int board_postclk_init(void)
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,5 @@
|
||||||
|
|
||||||
extern int cpu_init(void);
|
extern int cpu_init(void);
|
||||||
extern int timer_init(void);
|
extern int timer_init(void);
|
||||||
extern void board_init_info(void);
|
|
||||||
|
|
||||||
#endif /* __ASM_AVR32_INITCALLS_H__ */
|
#endif /* __ASM_AVR32_INITCALLS_H__ */
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,7 @@ static int __do_nothing(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int board_postclk_init(void) __attribute__((weak, alias("__do_nothing")));
|
int board_postclk_init(void) __attribute__((weak, alias("__do_nothing")));
|
||||||
|
int board_early_init_r(void) __attribute__((weak, alias("__do_nothing")));
|
||||||
|
|
||||||
/* The malloc area is right below the monitor image in RAM */
|
/* The malloc area is right below the monitor image in RAM */
|
||||||
static void mem_malloc_init(void)
|
static void mem_malloc_init(void)
|
||||||
|
|
@ -282,6 +283,8 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
|
||||||
gd->flags |= GD_FLG_RELOC;
|
gd->flags |= GD_FLG_RELOC;
|
||||||
gd->reloc_off = dest_addr - CFG_MONITOR_BASE;
|
gd->reloc_off = dest_addr - CFG_MONITOR_BASE;
|
||||||
|
|
||||||
|
board_early_init_r();
|
||||||
|
|
||||||
monitor_flash_len = _edata - _text;
|
monitor_flash_len = _edata - _text;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -318,7 +321,6 @@ void board_init_r(gd_t *new_gd, ulong dest_addr)
|
||||||
mem_malloc_init();
|
mem_malloc_init();
|
||||||
malloc_bin_reloc();
|
malloc_bin_reloc();
|
||||||
dma_alloc_init();
|
dma_alloc_init();
|
||||||
board_init_info();
|
|
||||||
|
|
||||||
enable_interrupts();
|
enable_interrupts();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue