[U-Boot] U-Boot on PXA320

-------- Пересылаемое сообщение -------- 24.12.09, 14:26, "Dennis Semakin" insane79@yandex.ru:
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 -------- Завершение пересылаемого сообщения --------
participants (1)
-
Dennis Semakin