This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/DP83867IR: Ethernet working issue

Part Number: DP83867IR
Other Parts Discussed in Thread: AM3892,

Tool/software: Linux

Hi,

The customer would like to replace PHY chip using for mass product to DP83867 because PHY chip was discontinued.

They added DP83867 to AM3892 and set up GMII / 1000 Mbps mode but ethernet was not working.

Ping test from custom board to PC : Output signal in TX line was found.

Ping test from PC to custom board : There was no signal in RX line.


SDK version is Ezsdk dm816x 5.05.02.00.
Linux Kernel version is 2.6.37.
Below is more information.

8880.Ethtool_result.txt
root@crong:~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr C8:FD:19:D6:D2:98
          inet addr:10.42.43.10  Bcast:10.42.43.255  Mask:255.255.255.0
          inet6 addr: fe80::cafd:19ff:fed6:d298/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2302 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:138228 (134.9 KiB)
          Interrupt:40 Base address:0x8000

eth1      Link encap:Ethernet  HWaddr 00:00:00:00:00:00
          BROADCAST MULTICAST  MTU:1500  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)
          Interrupt:44

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  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:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@crong:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP AUI BNC MII FIBRE ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Link detected: yes
root@crong:~# ethtool eth1
Settings for eth1:
        Link detected: yes
root@crong:~# ethtool -S eth0
no stats available
root@crong:~#

Below file is DP83867 register set-up after booting.

6232.DP83867 Register.xlsx

Please kindly check the register set-up and find out the cause of ethernet working issue.

Thanks,

  • Hi Henry,

    I am moving this thread to the Linux forum to get more visibility from the experts.

    The behavior of the PHY you discussed is OK. If the PC is not sending the ping command, there will be no RX activity on the PHY. This is probably a configuration problem and not a PHY problem. The register dump you provided does have a problem. The extended register access method is NOT working.

    Please read "Extended register space access" section of the datasheet for a description of how to access the registers at addresses above 0x1F. This could possibly be causing issue if you are trying to configure those higher registers.

    Best Regards,
  • Hi Rob,

    Clearly, I want to make sure that it is not a problem with linux PHY driver.
    The customer is using the generic PHY driver.
    Below is the log at boot time.
    ----------------------------------------------------------------------------------------

    davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
    davinci_mdio davinci_mdio.0: detected phy mask fffffffd
    davinci_mdio.0: probed
    davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown


    Configuring network interfaces...
    davinci_mdio davinci_mdio.0: resetting idled controller
    net eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, id=2000a231)
    ADDRCONF(NETDEV_UP): eth0: link is not ready


    PHY: 0:01 - Link is Up - 1000/Full
    ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
    ----------------------------------------------------------------------------------------

    Is it possible to operate normally with the generic PHY driver provided by the current SDK?
    Or, to use DP83867, do I have to apply the dedicated driver for DP83867? (git.kernel.org/.../dp83867.c)

    Thanks.

  • Hi Henry,

    I am not familiar with DP83867IR chip, but I can provide you some hints from AM389x device side.

    DM816x/AM389x TI EVM is using ET1011C Gigabit PHY and generic PHY driver.

    A "Generic PHY" driver is also available in DM816x EZSDK, which is attached dynamically when the on board PHY may not match the devices supported by the existing PHY drivers. This driver handles all basic functionality like PHY initialization, link advertisement/configuration, auto negotiation etc,

    Usually the "Generic PHY" controller driver might be able to handle the PHY controller. However, if there are some configuration details that are not supported by the "Generic PHY" driver, then you may have to develop a custom PHY driver or use the dedicated DP83867 PHY driver.

    For more info check the below wiki page:

    processors.wiki.ti.com/.../TI81xx_PSP_Porting_Guide

    ET1011C driver is located at linux-2.6.37/drivers/net/phy/et1011c.c, while I do not find DP83867 PHY driver in DM816x EZSDK. Thus if you need to use DP83867 driver instead of the generic driver, you need to port DP83867 driver in linux-2.6.37.

    See also the below e2e threads for more info:

    e2e.ti.com/.../636040
    e2e.ti.com/.../557279
    e2e.ti.com/.../245301

    Regards,
    Pavel
  • Hi, Pavel

    Thanks for your support and guidance.
  • Hi, Pavel

    Could you recommend any PHY chips which support GMII mode and is available in linux kernel version 2.6.37 except DP83867?

    Thanks.

  • Henry,

    I can recommend only the one coming with DM816x/AM389x TI EVM, as it is fully tested and validated.

    For another ethernet PHY recommendation, you might ask/post in the Ethernet forum. The team there might be able to help you more.

    e2e.ti.com/.../903

    Regards,
    Pavel