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.

AM4378: Rx Align/Code error with DP83848

Part Number: AM4378

Hi, Forum.

I have some problems with am4378 custom board with dp83848.

1. MDIO and Tx seem to be fine, but Rx seems to have a problem.

Wireshark 

Ping but don`t receive packet (host : 192.168.180.214 / board : 192.168.180.55)

ETHTOOL

root@am437x-evm:~# ethtool -S eth0
NIC statistics:
Good Rx Frames: 15
Broadcast Rx Frames: 8
Multicast Rx Frames: 7
Pause Rx Frames: 0
Rx CRC Errors: 0
Rx Align/Code Errors: 289
Oversize Rx Frames: 0
Rx Jabbers: 0
Undersize (Short) Rx Frames: 0
Rx Fragments: 0
Rx Octets: 2073
Good Tx Frames: 47
Broadcast Tx Frames: 8
Multicast Tx Frames: 39
Pause Tx Frames: 0
Deferred Tx Frames: 0
Collisions: 0
Single Collision Tx Frames: 0
Multiple Collision Tx Frames: 0
Excessive Collisions: 0
Late Collisions: 0
Tx Underrun: 0
Carrier Sense Errors: 0
Tx Octets: 8082
Rx + Tx 64 Octet Frames: 73
Rx + Tx 65-127 Octet Frames: 189
Rx + Tx 128-255 Octet Frames: 42
Rx + Tx 256-511 Octet Frames: 19
Rx + Tx 512-1023 Octet Frames: 28
Rx + Tx 1024-Up Octet Frames: 0
Net Octets: 57190
Rx Start of Frame Overruns: 0
Rx Middle of Frame Overruns: 0
Rx DMA Overruns: 0
Rx DMA chan 0: head_enqueue: 1
Rx DMA chan 0: tail_enqueue: 136
Rx DMA chan 0: pad_enqueue: 0
Rx DMA chan 0: misqueued: 0
Rx DMA chan 0: desc_alloc_fail: 0
Rx DMA chan 0: pad_alloc_fail: 0
Rx DMA chan 0: runt_receive_buf: 0
Rx DMA chan 0: runt_transmit_bu: 0
Rx DMA chan 0: empty_dequeue: 0
Rx DMA chan 0: busy_dequeue: 9
Rx DMA chan 0: good_dequeue: 9
Rx DMA chan 0: requeue: 0
Rx DMA chan 0: teardown_dequeue: 0
Tx DMA chan 0: head_enqueue: 47
Tx DMA chan 0: tail_enqueue: 0
Tx DMA chan 0: pad_enqueue: 0
Tx DMA chan 0: misqueued: 0
Tx DMA chan 0: desc_alloc_fail: 0
Tx DMA chan 0: pad_alloc_fail: 0
Tx DMA chan 0: runt_receive_buf: 0
Tx DMA chan 0: runt_transmit_bu: 0
Tx DMA chan 0: empty_dequeue: 47
Tx DMA chan 0: busy_dequeue: 0
Tx DMA chan 0: good_dequeue: 47
Tx DMA chan 0: requeue: 0
Tx DMA chan 0: teardown_dequeue: 0

Kernel boot message

Don`t use pin for Phy reset

2. am4378 Malfunction with DP83848(eth1)

if host connect custom board  10/100Mbps, am4378 malfunctions.

Phy id is 5. 

If have any ideas, please share to me. 

Thank you.  

  • Hi,

    Thanks for including the ethtool Statistics dump. The alignment errors is not good. 

    Rx Align/Code Errors: 289

    This usually indicates a HW error. Could you please include the board DTS file the you are using and the boot log?

    Best Regards,

    Schuyler

  • DTS here.

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /dts-v1/;
    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    / {
    model = "TI AM437x SK EVM";
    compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";
    chosen {
    stdout-path = &uart0;
    };
    evm_v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "evm_v3_3d";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    And boot log

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    CCCCCCCC
    U-Boot SPL 2019.01-ga764a508fd-dirty (May 18 2021 - 03:51:34 -0700)
    Trying to boot from MMC1
    SPL: Please implement spl_start_uboot() for your board
    SPL: Direct Linux boot not active!
    U-Boot 2019.01-ga764a508fd-dirty (May 18 2021 - 03:51:34 -0700)
    CPU : AM437X-GP rev 1.2
    Model: TI AM437x SK EVM
    DRAM: 1 GiB
    PMIC: TPS65218
    NAND: 0 MiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... OK
    Net: eth0: ethernet@4a100000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Please review the above. Thank you.

  • Hi,

    Thank you for posting DT file and boot log. Why is fixed link mode being used when you have PHYs?

    Best Regards,

    Schuyler

  • In hardware, the DP83848 is set to forced mode(100M / FD)

    Could this setting be cause problems?

  • Hi,

    It is possible but I am not sure if this is causing the issue. We may have to consult the PHY team here. Why is the PHY not in auto-negotiation mode? Is 10Mbps never a possibility?

    What is the link partner showing for a link speed? Is it fixed to 100Mbps or is it trying to auto-negotiate?

    Best Regards,

    Schuyler

  • I changed both 100Mbps and auto-negotiate on Host PC,link partner.

    But same error occur.  

    I`ll try to change the board to auto-negotiate.

  • Hi 

    When changing the board be sure to remove the fixed link node in the mac nodes.

    Best Regards,

    Schuyler

  • Late reply. I set advertised mode ( AN_EN = AN1 = AN2 = 1 ).

    Despite Change, same error occurred.

    ethtool -S eth0

    Wireshark

    DTB

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /dts-v1/;
    #include "am4372.dtsi"
    #include <dt-bindings/pinctrl/am43xx.h>
    #include <dt-bindings/pwm/pwm.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/input/input.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    / {
    model = "TI AM437x SK EVM";
    compatible = "ti,am437x-sk-evm","ti,am4372","ti,am43";
    chosen {
    stdout-path = &uart0;
    };
    evm_v3_3d: fixedregulator-v3_3d {
    compatible = "regulator-fixed";
    regulator-name = "evm_v3_3d";
    regulator-min-microvolt = <3300000>;
    regulator-max-microvolt = <3300000>;
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Could error be caused by Soldering?

    I have 2 boards I can test and both give errors.

    Do I have to re-bolling it and soldering?

  • Hi,

    I will need to check with a team member on possible suggestions.

    Best Regards,

    Schuyler