[U-Boot] U-Boot on PXA320
Dennis Semakin
insane79 at yandex.ru
Thu Dec 24 12:26:01 CET 2009
Hello everybody.
I have a question about u-boot net subsystem on Toradex Colibri PXA320.
Let's see on lib_arm/board.c file
Here is code where network subsystem initializes (At least I think so)
..
#if defined(CONFIG_CMD_NET)
#if defined(CONFIG_NET_MULTI)
puts ("Net: ");
#endif
eth_initialize(gd->bd);
#if defined(CONFIG_RESET_PHY_R)
debug ("Reset Ethernet PHY\n");
reset_phy();
#endif
#endif
/* main_loop() can return to retry autoboot, if so just run it again. */
for (;;) {
main_loop ();
}
..
I'm interested of eth_initialize(gd->bd) function.
If I compile without CONFIG_NET_MULTI option the implementation of this function is
(in net/eth.c file)
..
#elif defined(CONFIG_CMD_NET) && !defined(CONFIG_NET_MULTI)
#warning Ethernet driver is deprecated. Please update to use CONFIG_NET_MULTI
extern int at91rm9200_miiphy_initialize(bd_t *bis);
extern int mcf52x2_miiphy_initialize(bd_t *bis);
extern int ns7520_miiphy_initialize(bd_t *bis);
int eth_initialize(bd_t *bis)
{
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
miiphy_init();
#endif
#if defined(CONFIG_AT91RM9200)
at91rm9200_miiphy_initialize(bis);
#endif
#if defined(CONFIG_MCF52x2)
mcf52x2_miiphy_initialize(bis);
#endif
#if defined(CONFIG_DRIVER_NS7520_ETHERNET)
ns7520_miiphy_initialize(bis);
#endif
return 0;
}
#endif
Then as result, my network subsystem is hang when I run someone net command(e.g. ping)
And if I compile with CONFIG_NET_MULTI option the implementation of this function is
..
int eth_initialize(bd_t *bis)
{
unsigned char env_enetaddr[6];
int eth_number = 0;
eth_devices = NULL;
eth_current = NULL;
show_boot_progress (64);
#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
miiphy_init();
#endif
/* Try board-specific initialization first. If it fails or isn't
* present, try the cpu-specific initialization */
if (board_eth_init(bis) < 0)
cpu_eth_init(bis);
#if defined(CONFIG_DB64360) || defined(CONFIG_CPCI750)
mv6436x_eth_initialize(bis);
#endif
#if defined(CONFIG_DB64460) || defined(CONFIG_P3Mx)
mv6446x_eth_initialize(bis);
#endif
if (!eth_devices) {
puts ("No ethernet found.\n");
show_boot_progress (-64);
} else {
..
And then I get message "No ethernet found..."
Questions: where is net subsystem initialization code for Colibri PXA320 board in u-boot?
Where and how the structure eth_device is fill for that board? Or it don't need?
Thanks
Best regard
Dennis Semakin
More information about the U-Boot
mailing list