Steve Sakoman wrote: > On Wed, Oct 7, 2009 at 9:50 PM, Dirk Behme <dirk.be...@googlemail.com> wrote: >> Olof Johansson wrote: >>> On Oct 5, 2009, at 8:56 AM, Steve Sakoman <sako...@gmail.com> wrote: >>> >>>> On Sat, Sep 26, 2009 at 2:14 PM, Olof Johansson <o...@lixom.net> wrote: >>>>> Add setup for ethernet on Tobi, allowing kernel/ramdisk to be loaded >>>>> over tftp. >>>>> >>>>> This also refactors the smc911x driver to allow for detecting when the >>>>> chip is missing. I.e. the detect_chip() function is called earlier and >>>>> will abort gracefully when the Chip ID read returns all 1's. >>>>> >>>> Hmm . . . I just tried this on a board without smc911x chip and it >>>> seems to hang after printing "Net". >>>> >>>> Did it work for you in this case? Haven't had time to debug yet, but >>>> will try to look later today. >>> The only hardware I have is tobi, which is why I thought I cc:d you as >>> well as asked others to test with other carriers if they had them. >>> >>> I guess first thing to find out is if it's the first read that hangs or >>> what. >> Any idea how to go on with this? I have no Tobi, so unfortunately I can't >> help here. > > I've been testing the patch below, which seems to work with all boards > I've tried. It simply moves the test a bit earlier.
Great, thanks! Olof: Could you test this? If it works for you, too, we should apply it on top of u-boot-ti (and u-boot-arm/next) then (or modify initial [1] ?). Most probably we need a Signed-off-by then ;) Thanks Dirk [1] http://git.denx.de/?p=u-boot/u-boot-arm.git;a=commit;h=4eb3af078267e103fb957cb831497cf7670fb3f4 > Steve > > --- git/drivers/net/smc911x.c-orig 2009-09-29 16:24:48.000000000 -0700 > +++ git/drivers/net/smc911x.c 2009-10-05 20:41:55.000000000 -0700 > @@ -249,6 +249,12 @@ int smc911x_initialize(u8 dev_num, int b > > dev->iobase = base_addr; > > + /* Try to detect chip. Will fail if not present. */ > + if (smc911x_detect_chip(dev)) { > + free(dev); > + return 0; > + } > + > addrh = smc911x_get_mac_csr(dev, ADDRH); > addrl = smc911x_get_mac_csr(dev, ADDRL); > dev->enetaddr[0] = addrl; > @@ -264,12 +270,6 @@ int smc911x_initialize(u8 dev_num, int b > dev->recv = smc911x_rx; > sprintf(dev->name, "%s-%hu", DRIVERNAME, dev_num); > > - /* Try to detect chip. Will fail if not present. */ > - if (smc911x_detect_chip(dev)) { > - free(dev); > - return 0; > - } > - > eth_register(dev); > return 0; > } > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot