cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
3,154 Views
Registered: ‎10-15-2009

Error occurs when add ethernet to Linux based at XUP VIRETEX-II PRO

I have a board XUP VIRETEX-II PRO with  XC2VP30FPGA.

I have built  a fundamental Linux OS on V2 board successfully.

But when I add ethernet to Linux.

1)At first, I tried to use  PPC4XX on-chip Emac,it has many  errors in compiling phase.

2)Then I tried to use the EMAC driver generated by Xilinx EDK.I copy this EMAC driver to Linux.Then, I modified "linux/drivers/net/Kconfig" and "linux/drivers/net/Makefile" files, so that I can compile EMAC driver generated by Xilinx EDK.But I also got a lot of compiling errors with "drivers/net/xilinx_emac/adapter.c" as following:

 

......

drivers/net/xilinx_emac/adapter.c:2522: error : dereferencing pointer to incomplete type

drivers/net/xilinx_emac/adapter.c:2522: error : dereferencing pointer to incomplete type 

drivers/net/xilinx_emac/adapter.c:2525: error : dereferencing pointer to incomplete type

 

In these lines such as 2525 ,which uses struct net_local* lp, there is always a error.

 

3)At last I tried  "drivers/net/xilinx_temac/" which is said for V4.There is no compiling error!!!!And  ehernet led is on.But Linux can not recognize eth0.

 

I was puzzled.

Who can help me ?Thank you!

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
3,150 Views
Registered: ‎09-10-2008

You're making this much more difficult that it should be.  On the wiki, http://xilinx.wikidot.com, it gives instructions for using Linux on the ML405 board, which is a 405 processor also.

 

V2Pro is really old, but V4 with PPC 405 is about the same. 

 

I'm assuming you are using BSB in the EDK to build a solid h/w project.  If you have not used this before, you should build the project and then run the test applications that are not Linux based to ensure your h/w is solid.  Running Linux on unknown h/w is only a recipe for frustrations.

 

Let BSB add the Ethernet peripheral, Emaclite or LL TEMAC.  Use DMA and interrupts with LL TEMAC as that's our most tested model.

 

Once you have a solid h/w project, download the device tree generator as outlined on the wiki, generate a device tree.  This will go into the kernel. Then follow the wiki from there.

 

Hope that helps.

0 Kudos