cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
3,785 Views
Registered: ‎06-29-2017

GMII2RGMII Ethernet gem1 with Kernel 4.19 not working with Zynq7000

Jump to solution

Hello,

since I have updatet the kernel from 4.14 to 4.19 the gem1 with gmii2rgmii converter can not find the mdio device.

Bootlog with kernel 4.14:

[ 1.203759] libphy: MACB_mii_bus: probed
[ 1.302900] macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 28 (00:90:b8:20:b6:80)
[ 1.312762] Micrel KSZ9031 Gigabit PHY e000b000.ethernet-ffffffff:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:01, irq=POLL)
[ 1.329654] libphy: MACB_mii_bus: probed
[ 1.432955] macb e000c000.ethernet eth1: Cadence GEM rev 0x00020118 at 0xe000c000 irq 29 (00:90:b8:20:b6:81)
[ 1.442811] Micrel KSZ9031 Gigabit PHY e000c000.ethernet-ffffffff:02: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=e000c000.ethernet-ffffffff:02, irq=POLL)

Bootlog with 4.19:

libphy: Fixed MDIO Bu
Micrel KSZ9031 Gigabit PHY e000b000.ethernet-ffffffff:01: attached PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=e000b000.ethernet-ffffffff:01, irq=POLL)
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 28 (00:90:b8:20:b6:80)
libphy: MACB_mii_bus: probed
mdio_bus e000c000.ethernet-ffffffff: MDIO device at address 2 is missing.
xgmiitorgmii e000c000.ethernet-ffffffff:1f: Couldn't find phydev

 

The devicetree (without zynq-7000.dtsi):

&gem1 {
status = "okay";
phy-handle = <&phyremote>;

mdio {
#address-cells = <1>;
#size-cells = <0>;

phyremote: ethernet-phy@2 {
device_type = "ethernet-phy";
reg = <2>;
/*first emio gpio as reset*/
reset-gpios = <&gpio0 54 0>;
phy-mode = "rgmii";
};

gmiitorgmii: gmiitorgmii@31 {
compatible = "xlnx,gmii-to-rgmii-1.0";
reg = <31>;
phy-handle = <&phyremote>;
};
};
};

 

 

I have nothing changed at the devicetree because I have not seen any change in the documentation.

Kernel config should be ok because the gem0 is working and the converter is found by the kernel.

 

By the way the documentation for the macb driver on the xilinx page is not up to date. 

The CONFIG_NET_CADENCE has to be CONFIG_NET_VENDOR_CADENCE with the new kernel.

Thanks for your help!

 

0 Kudos
31 Replies
Highlighted
Contributor
Contributor
301 Views
Registered: ‎01-25-2016

I am using Vivado 2019.1 and petalinux 2019.1 and finally it works. However, I do have to go to download the uboot-xlnx from the master branch to replace and use that in order to get things to work.

 

CK

0 Kudos
Highlighted
Visitor
Visitor
2,591 Views
Registered: ‎06-29-2017

Hello everybody,

after debugging in the kernel drivers I found the setting that the gem is working!

It was the devicetree setting...

Now it looks like this and works:

&gem1 {
  status = "okay";    
    /*first emio gpio as reset*/
    reset-gpios = <&gpio0 54 1>;
        
    phyremote: ethernet-phy@2 {
        phy-mode = "rgmii-id";
        reg = <2>;
     };
        
    gmiitorgmii: gmiitorgmii@31 {
        compatible = "xlnx,gmii-to-rgmii-1.0";
        reg = <31>;
        phy-handle = <&phyremote>;
    };
};

Hope that helps someone else and I will close the ticket!

 

Thanks for the help!

View solution in original post