ML403 hard Ethernet under Linux 2.6.18

Magnus Hjorth mh at
Fri Jan 26 02:57:59 EST 2007

jozsef imrek wrote:
> On Thu, 25 Jan 2007, Magnus Hjorth wrote:
>> Hi,
>> I'm trying to get Linux working on an ML403 board with a basic
>> EDK design with a hard_temac and uart. I've generated the BSP for
>> linux_2_6, copied the drivers and twiddled a little to make it all compile.
>> The TEMAC driver seems to find the hardware, but the speed negotiation
>> seems not to work. I can see the speed LEDs first go to 100 Mbit, then
>> ...
> i suppose you are using plb_temac 3.00, with the corresponding driver.

plb_temac 3.00.a and hard_temac 3.00.b. The driver is the one that was 
generated in the BSP using Xilinx EDK 8.2, adapter.c says v2.00b.

The only code that I have added myself is a header file xio.h containing:
#include <asm/io.h>
#define XIo_In32(p) in_be32((volatile void *)p)
#define XIo_Out32(p,v) out_be32((volatile void *)p,v)
#define XIo_Out8(p,v) out_8((volatile void *)p,v)

> did you try to uncomment #define XILINX_PLB_TEMAC_3_00A_ML403_PHY_SUPPORT
> in adapter.c ?
I did try that, and it seems to work even worse. It claims the speed is 
set to 10Mbit but the LEDs show it's still in 100Mbit operation as it is 
directly after programming the FPGA... The transmit LED is on for a 
short while before the Link carrier lost message. Startup messages shown 

loaded at:     00400000 004B613C
board data at: 004B4124 004B413C
relocated to:  00404094 004040AC
zimage at:     00404EA7 004B3CFC
avail ram:     004B7000 03D09000

Linux/PPC load: console=ttyS0,9600 ip=on
Uncompressing Linux...done.
Now booting the kernel
Linux version (labb at (gcc version 
3.4.1) #14 7
Xilinx ML403 Reference System (Virtex-4 FX)
Built 1 zonelists.  Total pages: 15625
Kernel command line: console=ttyS0,9600 ip=on
Xilinx INTC #0 at 0x41200000 mapped to 0xFDFFE000
PID hash table entries: 256 (order: 8, 1024 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60184k available (1148k kernel code, 448k data, 68k init, 0k 
Mount-cache hash table entries: 512
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x40401003 (irq = 1) is a 16550A
XTemac: using FIFO direct interrupt driven mode.
eth0: Xilinx TEMAC #0 at 0x81200000 mapped to 0xC4000000, irq=0
eth0: XTemac id 1.0f, block id 5, type 8
TCP bic registered
NET: Registered protocol family 1
eth0: XTemac: Options: 0xb8f2
eth0: XTemac: speed set to 10Mb/s
Sending DHCP requests .<6>eth0: XTemac: PHY Link carrier lost.
..... timed out!
IP-Config: Reopening network devices...
eth0: XTemac: Options: 0xb8f2
eth0: XTemac: speed set to 10Mb/s
Sending DHCP requests ...... timed out!
IP-Config: Reopening network devices...
eth0: XTemac: Options: 0xb8f2


Magnus Hjorth, M.Sc.
Omnisys Instruments AB
Gruvgatan 8
SE-421 30  Västra Frölunda, SWEDEN
Phone: +46 31 734 34 09
Fax: +46 31 734 34 29 

More information about the Linuxppc-embedded mailing list