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: 
Visitor der_hainz
Visitor
8,596 Views
Registered: ‎11-25-2015

ZYBO xilinx-v14.7 does not find ethernet phy

Hello everybody,

 

I'm trying to geht run openPOWERLink on the ZYBO platform. The openPOWERLink stack is only compatible and tested with the xilinx 14.7 release. Here I get stuck in some problems. My System is:

 

-CENTOS 7 64 bit

-petalinux-v2015.2.1-final

-vivado 2015.2

 

what I have done so far:

-cloned the xilinx-v14.7 into the project folder

-edit the config to use the old kernel

-modified the device tree according to the ethernet phy

-successfully build the kernel

 

The Problem:

-after booting the kernel on the board, the phy is not found on the assigned addess

-()

--------------snip----------------------------
brd: module loaded
loop: module loaded
libphy: Fixed MDIO Bus: probed
libphy: XEMACPS mii bus: probed
xemacps e000b000.ethernet: invalid address, use assigned
xemacps e000b000.ethernet: MAC updated 12:df:36:37:92:54
xemacps e000b000.ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
usbcore: registered new interface driver usb-storage
------------snip -------------------------------
xemacps e000b000.ethernet: Set clk to 108333333 Hz
xemacps e000b000.ethernet: link up (1000/FULL)
-----------snip -------------------------

I've read that there are some differences between the device tree compiler. But if i compare old bindings with my bindings than i cant find any differences.

pcw.dtsi

....
&gem0 {
        enet-reset = <&gpio0 0 0>;
        phy-mode = "rgmii-id";
        phy-handle = <&phy0>;
        status = "okay";
        xlnx,eth-mode = <0x1>;
        xlnx,has-mdio = <0x1>;
        xlnx,ptp-enet-clock = <108333336>;
        ps7_ethernet_0_mdio: mdio {
                #address-cells = <1>;
                #size-cells = <0>;
                phy0: phy@1b {
                     compatible = "realtek,RTL8211E";
                     device_type = "ethernet-phy";
                     interrupt-parent = <&intc>;
                     reg = <1>;
                };
        };
};
....

zynq-7000.dtsi

gem0: ethernet@e000b000 {
                        compatible = "xlnx,ps7-ethernet-1.00.a";
                        reg = <0xe000b000 0x1000>;
                        status = "disabled";
                        interrupt-parent = <&intc>;
                        interrupts = <0 22 4>;
                        clocks = <&clkc 30>, <&clkc 13>;
                        clock-names = "ref_clk", "aper_clk";
                        #address-cells = <1>;
                        #size-cells = <0>;
                };

I tryed different phy0 addresses because i found a description for zybo phy0 : phy@1 on the internet and on the zybo ref doc i found this note:

"Although the default power-up configuration of the PHY might be enough in most applications, the MDIO bus is
available for management. The RTL8211E-VL is assigned address 00001b. "

So i also tryed phy0 : phy@1b. Both Versions leading to the same result.

 

Does anyone ever had a similar problem, or have an idea to fix it?

 

Thank you,

Heiner

 

0 Kudos
4 Replies
Visitor der_hainz
Visitor
8,583 Views
Registered: ‎11-25-2015

Re: ZYBO xilinx-v14.7 does not find ethernet phy

Hello,

I found something out:

 

after kernel config : Driver Core verbose debug messages [n] ->[y] under Device Drivers -> Generic Driver Options

 

root@CONTROLLED_NODE:~# dmesg | grep 'RTL'
bus: 'mdio_bus': add driver RTL8211B Gigabit Ethernet
bus: 'mdio_bus': add driver RTL8211E Gigabit Ethernet
bus: 'mdio_bus': driver_probe_device: matched device e000b000:00 with driver RTL8211E Gigabit Ethernet
bus: 'mdio_bus': really_probe: probing driver RTL8211E Gigabit Ethernet with device e000b000:00
driver: 'e000b000:00': driver_bound: bound to device 'RTL8211E Gigabit Ethernet'
bus: 'mdio_bus': really_probe: bound device e000b000:00 to driver RTL8211E Gigabit Ethernet

it seems, that the driver was loaded correctly. But why do i get the,

xemacps e000b000.ethernet: invalid address, use assigned

Message?

0 Kudos
Visitor der_hainz
Visitor
8,435 Views
Registered: ‎11-25-2015

Re: ZYBO xilinx-v14.7 does not find ethernet phy

does nobody has an answer for that? I'm still struggling with that error. I think something is wrong with the device tree MAC binding for that kernel. I've set the MAC in petalinux-config as default.

 

U-Boot gets initialized with the correct MAC address from the petalinux-config tool.

 

The kernel boots with:

 

libphy: Fixed MDIO Bus: probed
bus: 'platform': add driver mdio-gpio
bus: 'platform': add driver xemacps
bus: 'platform': driver_probe_device: matched device e000b000.ethernet with driver xemacps
bus: 'platform': really_probe: probing driver xemacps with device e000b000.ethernet
device: 'eth0': device_add
device: 'e000b000': device_add
libphy: XEMACPS mii bus: probed
device: 'e000b000:01': device_add
bus: 'mdio_bus': add device e000b000:01
bus: 'mdio_bus': driver_probe_device: matched device e000b000:01 with driver RTL8211E Gigabit Ethernet
bus: 'mdio_bus': really_probe: probing driver RTL8211E Gigabit Ethernet with device e000b000:01
driver: 'e000b000:01': driver_bound: bound to device 'RTL8211E Gigabit Ethernet'
bus: 'mdio_bus': really_probe: bound device e000b000:01 to driver RTL8211E Gigabit Ethernet
xemacps e000b000.ethernet: invalid address, use assigned
xemacps e000b000.ethernet: MAC updated de:ad:be:ef:ca:fe
xemacps e000b000.ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54
driver: 'e000b000.ethernet': driver_bound: bound to device 'xemacps'
bus: 'platform': really_probe: bound device e000b000.ethernet to driver xemacps

 

 

The POWERLink emacps driver gets initialized with the MAC address [00 00 00 00 00 00].

 

Does anyone has an answer?

 

Greetings,

Heiner

 

0 Kudos
Xilinx Employee
Xilinx Employee
8,432 Views
Registered: ‎09-10-2008

Re: ZYBO xilinx-v14.7 does not find ethernet phy

Hi,

 

It's a bit confusing when you talk about the openPOWERLink stack and how that affects the basic emac.  Since you are running such an old version of the kernel that makes it harder. 

 

Have you baselined the emac on the zybo board without the openPOWERLink stack? 

 

I would think that Digilent would have some mailing lists for their boards too as I don't use that board and it's not clear if this is just a board integration issue or not.

 

Thanks

John

0 Kudos
Visitor der_hainz
Visitor
8,357 Views
Registered: ‎11-25-2015

Re: ZYBO xilinx-v14.7 does not find ethernet phy

Hello,

since openPOWERLink has offered an newer version which supports newer kernel versions, the kernel issues are solved. We are using now the 3.19.00 kernel which sets the MAC in the desired way, and we are also able to send packets via standard TCP/IP over the network. The POWERLink stack still does not run, but it seems to be a problem with the implementation of the powerlink emacps driver.

 

Thank you for your support!

 

Heiner

0 Kudos