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.

TDA4AL-Q1: How do I enable flow control for an Ethernet port on the soc?

Part Number: TDA4AL-Q1

Hi,

When we test the Ethernet rate, we find that the gigabit network port and the 100 Gigabit network port have rate instability, as shown in the following figure:

One solution given by network card vendors is to enable flow control on both the soc side and the network card.One solution given by network card vendors is to enable flow control of all network ports and rgmi on the soc side and network card simultaneously.For example, the following is the flow control on the NIC side. Each port represents a network port or RGMI. Similarly, could you please tell me how to enable flow control on SOC?

  • Hi,

    The flow control is enabled on default for the MAC on CPSW. For the flow control to work, the support for flow control has to be present on both the sides of the link. If the link partner is capable of accepting pause frames, the link will be configured for flow control by default. You would get log like following in such cases:

    [   11.540669] am65-cpsw-nuss c000000.ethernet eth4: Link is Up - 1Gbps/Full - flow control rx/tx

    Regards,
    Tanmay

  • hi,
    According to your explanation, we can see from the log that our current flow control is closed. May I ask how to open it?
    [ 9.710693] am65-cpsw-nuss 46000000.ethernet eth0: configuring for fixed/rgmii-id link mode
    [ 9.730561] am65-cpsw-nuss 46000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
     
  • Hi,

    As I said in the previous response, if the other side MAC supports flow control, it will get enabled. Can you confirm that the link partner has flow control enabled.

    Using ethtool, you can try the following commands:

    • ethtool -A eth0 rx on tx on
    • ethtool -A eth0 autoneg on

    But if the link partner does not support flow control, ethtool too will fail.

    The best way to verify if flow control is supported or not is by establishing a connection between two EVM. As we EVM  has flow control, the link should come up with flow control enabled.

    Regards,
    Tanmay