U-Boot on PXA320

Dennis Semakin <[email protected]>
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
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 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.