
On 21:57 Mon 28 Jul , Ben Warren wrote:
Hi Hong,
Thanks for all the hard work. One more thing...
<snip> > +#if defined(CONFIG_CMD_NET) > +int board_eth_init(bd_t *bis) > +{ > + return at91sam9_eth_initialize(bis); > +} > +#endif
Here's at91sam9_eth_initialize:
#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET) void at91sam9_eth_initialize(bd_t *bi) { macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00); } #endif
Issues:
- It returns void
- It just calls the MACB initializer.
Please change your code to:
extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET) int board_eth_init(bd_t *bi) { return macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00); } #endif
or something like this. I don't know if AT91_BASE_EMAC is visible from this code, so you may need to modify slightly.
Can we do a cpu_eth_init instead?
Best Regards, J.