[U-Boot-Users] trizeps2 SMC lan91c96

Matej Kupljen matej.kupljen at ultra.si
Wed Mar 9 20:28:20 CET 2005


> Next I enabled CONFIG_DRIVER_LAN91C96 and set 'CONFIG_LAN91C96_BASE 
> 0x0C000300' - taken from linux kernel. 
    ^--- Are you sure about this?

We are using this chip on our custom board and have the 91c96 on
CS3 and we define this as 0x0C000000
> Warning: MAC addresses don't match:
>          HW MAC address:  00:18:00:10:14:18
>          "ethaddr" value: 00:50:C2:0E:C8:D9

Probably different values in EEPROM and in environment.

> Using MAC Address 00:50:C2:0E:C8:D9
> TFTP from server; our IP address is
> Filename 'trizeps2_kernel.img'.
> Load address: 0xa3000000

Hm, is this hardcoded or sent by your BOOTP server?

> Loading: LAN91C96:smc_hardware_send_packet
> LAN91C96: memory allocation, try 1 failed ...
> LAN91C96: memory allocation, try 2 failed ...
> LAN91C96: memory allocation, try 3 failed ...
> LAN91C96: memory allocation, try 4 failed ...
> LAN91C96: memory allocation, try 5 failed ...

I remember we had some problems with this also, but we tracked this
down to a compiler BUG (we use our own toolchain) because the macro
SMC_outb(d,r) in drivers/lan91c96.h did not correctly set the address.
When we updated the gcc everything worked fine.

>  From the bdi debug session I managed to pinpoint the location where it 
> all hangs - tftp.c, TftpSend():
>              *((ushort *)pkt)++ = htons(TFTP_RRQ);

I don't think this is the source of your problem.
I'd look in lan91c96.c, especially where the values of the
registers are written and read. Check the values you get in the code
and check the values of the registers with the BDI.

> Has anyone any experience with lan91c96 under u-boot? 

It works fine for us, in U-Boot and in Linux.

> Any comments are welcome,

It hard to say anything specific, because we do not have your
schematics to see how is the c91c97 connected to PXA.


More information about the U-Boot mailing list