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.

Processor SDK 2.00.107 ethernet speed question

Other Parts Discussed in Thread: AM3352

We use the same AM3352 Custom Board,and Run iperf as following


Why is there such a difference???

in SDK6 board-am335xevm.c

#define MMD_ACCESS_CTRL 0xd
#define MMD_ACCESS_REG_DATA 0xe
#define MMD_ACCESS_REG_MODE 0x0000
#define MMD_ACCESS_DATANOPOST_MODE 0x4000
#define MMD_ACCESS_DATAPOST_MODE 0x8000
#define MMD_ACCESS_DATAPOSTWRTONLY_MODE 0xc000

#define KSZ9031_PHY_CLK_PAD_SKEW_REG 0x08
#define KSZ9031_RGMII_CLK_DLY 0x2d6
#define KSZ9031_PHY_RXD_PAD_SKEW_REG 0x05
#define KSZ9031_RGMII_RXD_DLY 0x0000

static int wise_dly_phy_fixup(struct phy_device *phydev)
{
int temp;
/// CLK
phy_write(phydev, MMD_ACCESS_CTRL,MMD_ACCESS_REG_MODE|0x02);
phy_write(phydev, MMD_ACCESS_REG_DATA, KSZ9031_PHY_CLK_PAD_SKEW_REG);
phy_write(phydev, MMD_ACCESS_CTRL,MMD_ACCESS_DATANOPOST_MODE|0x02);
temp = phy_read(phydev, MMD_ACCESS_REG_DATA);
pr_info("phy read clk = 0x%x\n",temp);

phy_write(phydev, MMD_ACCESS_REG_DATA, (temp&0xFC00) | KSZ9031_RGMII_CLK_DLY);

temp = phy_read(phydev, MMD_ACCESS_REG_DATA);
pr_info("phy read clk = 0x%x\n",temp);


/// RXData
phy_write(phydev, MMD_ACCESS_CTRL,MMD_ACCESS_REG_MODE|0x02);
phy_write(phydev, MMD_ACCESS_REG_DATA, KSZ9031_PHY_RXD_PAD_SKEW_REG);
phy_write(phydev, MMD_ACCESS_CTRL,MMD_ACCESS_DATANOPOST_MODE|0x02);
temp = phy_read(phydev, MMD_ACCESS_REG_DATA);
pr_info("phy read rxd = 0x%x\n",temp);

phy_write(phydev, MMD_ACCESS_REG_DATA, KSZ9031_RGMII_RXD_DLY);

temp = phy_read(phydev, MMD_ACCESS_REG_DATA);
pr_info("phy read rxd = 0x%x\n",temp);
return 0;
}

in Processor SDK2.00 107 DTS file

&cpsw_emac0 {
phy_id = <&davinci_mdio>, <0>;
phy-mode = "rgmii-txid";
dual_emac_res_vlan = <1>;
/* clock skew correction, maximum possible on KSZ9031 is
2^5 - 1 * 0,06ns = 1860ps, micrel datasheet M9999-081712-0.11 p.58*/
rxc-skew-ps = <726>;
txc-skew-ps = <726>;

/* align rx signals to zero, leave tx to default */
rxd0-skew-ps = <0>;
rxd1-skew-ps = <0>;
rxd2-skew-ps = <0>;
rxd3-skew-ps = <0>;
};

  • I will ask the Ethernet experts to comment.
  • In Processor SDK 2.00 1.07
    The CPU FREQ is 1G Hz

    root@am335x-evm:/proc# cat /proc/cpuinfo
    processor : 0
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 996.14
    Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc08
    CPU revision : 2

    Hardware : Generic AM33XX (Flattened Device Tree)
    Revision : 0000
    Serial : 0000000000000000
  • Does TI has any Update about the question??

    The AM335X StarterKit Board have the same problem,too

    ================>   SDK6

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project http://arago-project.org am335x-evm ttyO0

    Arago 2013.05 am335x-evm ttyO0

    am335x-evm login: root
    root@am335x-evm:~# ifconfig eth0 192.168.1.100
    [ 71.110473] net eth0: CPSW phy found : id is : 0x4dd074
    root@am335x-evm:~# p[ 73.101745] PHY: 0:00 - Link is Up - 1000/Full

    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 20.2 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 49716 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 339 MBytes 285 Mbits/sec
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 20.2 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 49717 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 332 MBytes 278 Mbits/sec
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 20.2 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 49718 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 338 MBytes 284 Mbits/sec

    ================>   PROCESSOR SDK2

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project http://arago-project.org am335x-evm /dev/ttyO0

    Arago 2015.12 am335x-evm /dev/ttyO0

    am335x-evm login: root
    root@am335x-evm:~# ifconfig eth0 192.168.1.100
    root@am335x-evm:~# ping 192.168.1.6
    PING 192.168.1.6 (192.168.1.6): 56 data bytes
    64 bytes from 192.168.1.6: seq=0 ttl=128 time=3.407 ms
    64 bytes from 192.168.1.6: seq=1 ttl=128 time=1.866 ms
    ^C
    --- 192.168.1.6 ping statistics ---
    2 packets transmitted, 2 packets received, 0% packet loss
    round-trip min/avg/max = 1.866/2.636/3.407 ms
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 43.8 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 54972 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.2 sec 168 MBytes 138 Mbits/sec
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 43.8 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 54973 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.1 sec 159 MBytes 132 Mbits/sec
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 43.8 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 54974 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 161 MBytes 135 Mbits/sec
    root@am335x-evm:~#

    ================>   PROCESSOR SDK2 IN CPU  720MHZ

    ***************************************************************
    ***************************************************************

    _____ _____ _ _
    | _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
    | | _| .'| . | . | | __| _| . | | | -_| _| _|
    |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
    |___| |___|

    Arago Project http://arago-project.org am335x-evm /dev/ttyO0

    Arago 2015.12 am335x-evm /dev/ttyO0

    am335x-evm login: root
    root@am335x-evm:~# cat /proc/cpuinfo
    processor : 0
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 274.24
    Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc08
    CPU revision : 2

    Hardware : Generic AM33XX (Flattened Device Tree)
    Revision : 0000
    Serial : 0000000000000000
    root@am335x-evm:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    root@am335x-evm:~# cat /proc/cpuinfo
    processor : 0
    model name : ARMv7 Processor rev 2 (v7l)
    BogoMIPS : 718.02
    Features : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant : 0x3
    CPU part : 0xc08
    CPU revision : 2

    Hardware : Generic AM33XX (Flattened Device Tree)
    Revision : 0000
    Serial : 0000000000000000
    root@am335x-evm:~# ifconfig eth0 192.168.1.100
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 43.8 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 50148 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 232 MBytes 195 Mbits/sec
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 43.8 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 50149 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 144 MBytes 121 Mbits/sec
    root@am335x-evm:~# iperf -c 192.168.1.6
    ------------------------------------------------------------
    Client connecting to 192.168.1.6, TCP port 5001
    TCP window size: 43.8 KByte (default)
    ------------------------------------------------------------
    [ 3] local 192.168.1.100 port 50150 connected with 192.168.1.6 port 5001
    [ ID] Interval Transfer Bandwidth
    [ 3] 0.0-10.0 sec 158 MBytes 132 Mbits/sec
    root@am335x-evm:~#

  • I knew this performance

    AM335X EVM SK in SDK6 is 284M bit/Sec
    AM335X EVM SK in Processor SDK2.0.1.07 is 121M Bit/sec

    Why is there such difference in SDK6 and Processor SDK2.0.107???