From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Thu, 24 Dec 2009 10:10:33 -0800 Subject: [U-Boot] U-Boot on PXA320 In-Reply-To: <4031261653961@webmail115.yandex.ru> References: <1261644641-30437-1-git-send-email-premi@ti.com> <4031261653961@webmail115.yandex.ru> Message-ID: <4B33AE99.9000800@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Dennis, Sending the e-mail once is enough. Dennis Semakin wrote: > 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? > Maybe I'm not looking in the right place, but I can't find this board in the source tree. The closest I can find is a machine type definition for MACH_TYPE_COLIBRI, but no boards have CONFIG_MACH_COLIBRI set. Without the source code, there's only so much help we can give you. > Where and how the structure eth_device is fill for that board? Or it don't need? > I have no idea what Ethernet controller is on this board, but judging from your debug trace, whatever it is, it uses the old API (non CONFIG_NET_MULTI), and either the driver or your board is broken or not configured properly. A bit of background: there are two network device drivers: the old one, which only supports one interface per board; and the new one (CONFIG_NET_MULTI), which supports one or more interfaces. Over time, we're converting all drivers to use the new API, but this takes effort and obviously hardware that is out-of-tree won't be updated. As the #warning tells you, the old API is going away soon. > Thanks > Best regard > Dennis Semakin > _______________________________________________ > U-Boot mailing list > U-Boot at lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot > regards, Ben