cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
lim.junhyoung
Adventurer
Adventurer
826 Views
Registered: ‎03-27-2019

ZynqMP Ethernet PS RGMII with DP83867E Phy issues

I'm having issues with the Ethernet on a custom board with a ZynqMP and the DP83867E PHY running in RGMII mode.

I can not find the eth0 device in the kernel log. I do not know why. 
When the power is applied, the ethernet LED is only green turned on.

 

[ 2.428427] macb ff0c0000.ethernet: Not enabling partial store and forward
[ 2.429714] libphy: MACB_mii_bus: probed
[ 2.430329] macb ff0c0000.ethernet eth0: no PHY found

 

Configuring network interfaces... Cannot find device "eth0"

uboot works like this :

Net:   ZYNQ GEM: ff0c0000, phyaddr 9, interface rgmii-id
eth0: ethernet@ff0c0000
U-BOOT for sw

ethernet@ff0c0000 Waiting for PHY auto negotiation to complete...... done
BOOTP broadcast 1
BOOTP broadcast 2
BOOTP broadcast 3
BOOTP broadcast 4
BOOTP broadcast 5
BOOTP broadcast 6
BOOTP broadcast 7
BOOTP broadcast 8
BOOTP broadcast 9
BOOTP broadcast 10
BOOTP broadcast 11
BOOTP broadcast 12
BOOTP broadcast 13
BOOTP broadcast 14
BOOTP broadcast 15
BOOTP broadcast 16
BOOTP broadcast 17

Retry time exceeded
Hit any key to stop autoboot:  0
ZynqMP> setenv ipaddr 12.12.12.100
ZynqMP> ping 12.12.12.13
Using ethernet@ff0c0000 device
host 12.12.12.13 is alive

 

my device tree is

 

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

                                #address-cells = <1>;
                                #size-cells = <0>;
                                phy0: phy@9 {
                                                compatible = "ti,dp83867";
                                                device_type = "ethernet-phy";
                                                reg = <9>;
                                };

                };
        /* pinctrl-names = "default"; */
        /* pinctrl-0 = <&gem0_powerup_mii>; */
        /* phy0: phy@9 { 
                reg = <9>;
        };  */
};


After booting, type ifconfig command as below.

root@sw:~# ifconfig -a
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1%4882584/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 

0 Kudos
6 Replies
shabbirk
Moderator
Moderator
820 Views
Registered: ‎12-04-2016

Hi @lim.junhyoung 

 

We have an example device tree for RGMII in the below wiki, could you please modify accordingly

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver

 

0 Kudos
lim.junhyoung
Adventurer
Adventurer
815 Views
Registered: ‎03-27-2019

 

@shabbirk 
Thank you for your reply.
The link you provided is the link I saw.
The kernel config in the macb driver is already set.
Will there be a change in the device tree?

0 Kudos
shabbirk
Moderator
Moderator
793 Views
Registered: ‎12-04-2016

Hi @lim.junhyoung 

Yes you need to m odify device tree as described in the samelink

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841740/Macb+Driver#MacbDriver-Devicetree

 

0 Kudos
lim.junhyoung
Adventurer
Adventurer
785 Views
Registered: ‎03-27-2019

@shabbirk 

i modify dts. but different problem.

 

kernel log

[ 3.065844] macb ff0c0000.ethernet: Not enabling partial store and forward
[ 3.067159] libphy: MACB_mii_bus: probed
[ 3.069565] macb ff0c0000.ethernet eth0: Could not attach to PHY
[ 3.103317] macb: probe of ff0c0000.ethernet failed with error -22

Configuring network interfaces... Cannot find device "eth0"

 

my ethernet address is 9. because I have so specified the address in the hardware.

image.png

 

zynqmp.dts

 gem1: ethernet@ff0c0000 {
                        compatible = "cdns,zynqmp-gem", "cdns,gem";
                        status = "disabled";
                        interrupt-parent = <&gic>;
                        interrupts = <0 59 4>, <0 59 4>;
                        reg = <0x0 0xff0c0000 0x0 0x1000>;
                        clock-names = "pclk", "hclk", "tx_clk";
                        #address-cells = <1>;
                        #size-cells = <0>;
                        #stream-id-cells = <1>;
                        iommus = <&smmu 0x875>;
                        power-domains = <&pd_eth1>;
                };
system-user.dtsi

&gem1 {
        status = "okay";
        phy-handle = <&ethernet_phy>;
        phy-mode = "rgmii-id";
        ethernet_phy: ethernet-phy@9{
                reg = <9>;
        };
};

 

0 Kudos
shabbirk
Moderator
Moderator
750 Views
Registered: ‎12-04-2016

Hi @lim.junhyoung 

Did you enable the PHY support in Kernel config (petalinux-config -c kernel) ?

0 Kudos
lim.junhyoung
Adventurer
Adventurer
745 Views
Registered: ‎03-27-2019

@shabbirk
Yes!!
0 Kudos