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.

DP83822I: Ethernet not working, no physical data flow.

Part Number: DP83822I
Other Parts Discussed in Thread: SK-AM62,

Hello,

I'm running the Sitara AM623x custom board with two Ethernet PHYs.

I have there two DP83822IRHBT with the following bootstrap config: FX_EN=0, PHY_AD0=0, AN_1=1, PHY_AD1=0, EEE_EN=0, PHY_AD2=0, FLD_EN=0, PHY_AD3=0, AN_EN=1, PHY_AD4=0, AN_0=1, LED_SPEED=1, LED_CFG=0, RGMII_EN=1, AMDIX_EN=1, XI_50=0, RMII_EN=0.

The only difference for the second PHY is the PHY_AD0=1

Connected the same way as the gigabit on the SK-AM62 EVK, means RGMII Interface TX_D[0:3], TX_CLK, TX_XTRL, RX_D[0:3], RX_CLK, RX_CTRL with 25MHz external clock to XI.

I'm running tisdk-base-image-am62xx-evm.tar.xz

Everything in the system looks fine, it detects connected cable, even Auto-MDIX works, speed is correctly set to 100M, ACT LED is flashing, but no data flow from any side.

dmesg:

[ 5.757522] remoteproc remoteproc0: 5000000.m4fss is available
[ 5.765139] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
[ 5.776290] remoteproc remoteproc0: powering up 5000000.m4fss
[ OK ] Started Network Service.
[ 5.784400] random: systemd: uninitialized urandom read (16 bytes read)
[ 5.786144] remoteproc remoteproc0: Direct firmware load for am62-mcu-m4f0_0-fw failed with error -2
[ 5.798062] am65-cpsw-nuss 8000000.ethernet: down msc_sl e0000000 tmo 0
[ 5.811171] random: systemd-journal: uninitialized urandom read (16 bytes read)
[ 5.811792] remoteproc remoteproc0: request_firmware failed: -2
Starting Wait for Network to be Configured...
[ 5.838321] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
[ 5.853845] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [Generic PHY] (irq=POLL)
[ 5.854404] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
[ 5.873332] am65-cpsw-nuss 8000000.ethernet: down msc_sl e0000000 tmo 0
[ 5.901394] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [Generic PHY] (irq=POLL)
[ 5.901418] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode

Please be so kind and point me what may be wrong, or what to test.

  • Here is more exact dmesg:

    root@am62xx-evm:~# dmesg | grep cpsw

    [ 1.190957] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000002
    [ 1.203896] am65-cpsw-nuss 8000000.ethernet: Use random MAC address
    [ 1.210161] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5
    [ 1.217285] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [ 1.223963] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [ 5.692621] am65-cpsw-nuss 8000000.ethernet: down msc_sl e0000000 tmo 0
    [ 5.732534] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19
    [ 5.748645] am65-cpsw-nuss 8000000.ethernet eth1: PHY [8000f00.mdio:01] driver [Generic PHY] (irq=POLL)
    [ 5.763064] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
    [ 5.808414] am65-cpsw-nuss 8000000.ethernet: down msc_sl e0000000 tmo 0
    [ 5.826104] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [Generic PHY] (irq=POLL)
    [ 5.841823] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode

  • Hello Jan,

    It is strange that ACT LED is flashing, but there is no data transfer.

    Is the problem same with both the PHYs?

    Can you please probe RX_CLK, RX_D* pins and TX_CLK and TX_D* pins of the PHY and capture the waveforms?

    --
    Regards,
    Gokul.

  • Hello, it's quite difficult for me to capture data hence it's no easy to reach these lines. May be this helps a bit that the line is not stable.

    Both lines works really the same wrong way.

    443.286421] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 449.432518] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [ 452.502428] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 501.654649] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [ 505.750424] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 553.878317] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [ 556.950253] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 570.262522] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [ 572.310417] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 690.070350] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [ 697.110246] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
    [ 697.116570] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 698.134344] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [ 701.206452] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 729.878318] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [ 737.046229] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 740.118453] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down
    [ 742.166429] am65-cpsw-nuss 8000000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
    [ 751.382332] am65-cpsw-nuss 8000000.ethernet eth1: Link is Down

    One more question, is the cpsw-nuss the right driver for the DP83822I?

  • The link instability was identified in wrong RJ45 connector. Connector replaced. Now it's stable. I've probed the lines and there is only 25MHz on TX_CLK and RX_CLK. When the cable is not connected, the RX_CLK has 2.5MHz clock. All data lines are idle. Some at GND, Some at 3.3V.

  • TX_D[0:3] are all at GND, RX_D[0:3} are at 3V3.

  • Hello Jan,

    The link instability was identified in wrong RJ45 connector. Connector replaced. Now it's stable. I've probed the lines and there is only 25MHz on TX_CLK and RX_CLK. When the cable is not connected, the RX_CLK has 2.5MHz clock.

    This behavior is as expected when cable is disconnected.

    TX_D[0:3] are all at GND, RX_D[0:3} are at 3V3.

    When cable is disconnected, the RX_D[3:0] can't be high. RX_D[2:0] should be 0V and RX_D3 can either be 0 or 1 depending on the settings.

    Can you please probe the signals when transmitting packets from either sides of the PHY?

    One more question, is the cpsw-nuss the right driver for the DP83822I?

    You'll have to check with AM62 team regarding this. Can you raise another E2E request for these details?

    --
    Regards,
    Gokul.

  • The whole issue was in the wrong connection of the LED1, which was connected to VCC instead of GND.