UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
6,583 Views
Registered: ‎11-09-2015

Linux crash when use axi_ethernetlite IP core

Hi guys,

   I'm trying to run a Linux system in a new custom board with Zynq XC7Z020, using u-boot-xlinx-master and linux-xlnx-xilinx-v2015.4(using xilinx_zynq_defconfig),I want to use the AXI Ethernetlite IP core support my eth1。The Xilinx_emaclite driver probe ok,but when i config the eth1,the system crashed.

vivado.PNG

The interrupt configure as follows:

interrupts.PNG

The dts file about this Ethernet as follow:

              ethernet@40e00000 {

                     compatible = "xlnx,xps-ethernetlite-1.00.a";

                     device_type = "network";

                     interrupt-parent = <0x3>;

                     interrupts = <0x0 0x1d 0x1>;

                     reg = <0x40e00000 0x10000>;

                     xlnx,duplex = <0x1>;

                     xlnx,include-global-buffers = <0x1>;

                     xlnx,include-internal-loopback = <0x0>;

                     xlnx,include-mdio = <0x1>;

                     xlnx,rx-ping-pong = <0x1>;

                     xlnx,s-axi-id-width = <0x1>;

                     xlnx,tx-ping-pong = <0x1>;

                     xlnx,use-internal = <0x0>;

                     local-mac-address = [00 0a 35 00 00 00];

                     phy-handle = <0x6>;

 

                     mdio {

                            #address-cells = <0x1>;

                            #size-cells = <0x0>;

 

                            phy@1 {

                                   reg = <0x1>;

                                   linux,phandle = <0x6>;

                                   phandle = <0x6>;

                            };

                     };

              };

 

The Xilinx_emaclite driver probe ok,the system dmesg :

xilinx_emaclite 40e00000.ethernet: Device Tree Probing

libphy: Xilinx Emaclite MDIO: probed

xilinx_emaclite 40e00000.ethernet: MAC address is now 00:12:ae:a7:7c:ce

xilinx_emaclite 40e00000.ethernet: Xilinx EmacLite at 0x40E00000 mapped to 0x608E0000, irq=167

But i can’t find eth1’s IRQ number in /proc/interrupts:

无标题.png

When I type : ifconfig eth1 192.168.1.10 up   The system crashed。I had to use the reset button or the power switch,to restart the system.

Thanks!

 

 

0 Kudos
5 Replies
Explorer
Explorer
6,556 Views
Registered: ‎11-09-2015

Re: Linux crash when use axi_ethernetlite IP core

By the way ,The phy chip is KSZ8041TL.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
6,552 Views
Registered: ‎09-10-2008

Re: Linux crash when use axi_ethernetlite IP core

Hi,

You won't see the interrupt in /proc/interrupts til after the ifconfig completes as the request_irq() is not called in the probe but in the open() function.

Thanks
John
0 Kudos
Xilinx Employee
Xilinx Employee
6,551 Views
Registered: ‎09-10-2008

Re: Linux crash when use axi_ethernetlite IP core

You need to put in any crash dump that happened as that's the key to understanding the issue. There is also debug in the driver so that turning on debug (command line, adding #define DEBUG in driver, etc...) might help also. Nothing obvious is jumping out at me as wrong in the device tree. Have you tried running with an older release as 2015.4 is really new.
0 Kudos
Explorer
Explorer
6,545 Views
Registered: ‎11-09-2015

Re: Linux crash when use axi_ethernetlite IP core

Thanks for your replying. I have tried 2015.2 and zynq-dt-for-4.3-v2. They have same issue. The system crash,and terminal no response,so i had to push the reset button or the power switch to restart the system. 

 
0 Kudos
Xilinx Employee
Xilinx Employee
6,541 Views
Registered: ‎09-10-2008

Re: Linux crash when use axi_ethernetlite IP core

So it almost sounds like we don't know if it crashed but it's not responsive on the serial console such that it likely did or it's hung somehow.

Have you tried to ping it just be sure of that? I imagine your right, but sometimes I get surprised and chase the wrong problem.

Or telnet into the other EMAC as it looks like you might be using eth0 also.

I would add "debug" to the kernel command line in u-boot when it boots and then if nothing add #define DEBUG to the driver and see what you get.

Thanks
John
0 Kudos