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.

AM5708: U-boot ethernet speed is slow by tftpboot command

Part Number: AM5708
Other Parts Discussed in Thread: BEAGLEBOARD-X15, AM5728, PMP

Hi 

In u-boot we can ping our PC for example 192.168.0.25 successfully. But the cmd tftpboot speed on our custom board am5708 is very very slow,  

The PSDK we are using is am57xx-evm-linux-sdk-src-06.02.00.81 u-boot is 2018.01 PHY is KSZ8081RNB 

In board\ti\am57xx\mux_data.h, we set

{MDIO_MCLK, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* mdio_mclk.mdio_mclk */ /* mdio_mclk.mdio_mclk */
{MDIO_D, (M0 | PIN_INPUT | SLEWCONTROL)}, /* mdio_d.mdio_d */ /* mdio_d.mdio_d */
{RMII_MHZ_50_CLK, (M0 | PIN_INPUT)}, /* RMII_MHZ_50_CLK.gpio5_17 */ /* RMII_MHZ_50_CLK.RMII_MHZ_50_CLK */
{RGMII0_TXD3, (M1 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_txd3.rgmii0_txd3 */ /* rgmii0_txd3.rmii0_crs */
{RGMII0_TXD2, (M1 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_txd2.rgmii0_txd2 */ /* rgmii0_txd2.rmii0_rxer */
{RGMII0_TXD1, (M1 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_txd1.rgmii0_txd1 */ /* rgmii0_txd1.rmii0_rxd1 */
{RGMII0_TXD0, (M1 | PIN_INPUT | MANUAL_MODE)}, /* rgmii0_txd0.rgmii0_txd0 */ /* rgmii0_txd0.rmii0_rxd0 */
{RGMII0_RXD2, (M1 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_rxd2.rgmii0_rxd2 */ /* rgmii0_rxd2.rmii0_txen */
{RGMII0_RXD1, (M1 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_rxd1.rgmii0_rxd1 */ /* rgmii0_rxd1.rmii0_txd1 */
{RGMII0_RXD0, (M1 | PIN_OUTPUT | MANUAL_MODE)}, /* rgmii0_rxd0.rgmii0_rxd0 */ /* rgmii0_rxd0.rmii0_txd0 */

In am57xx_evm_fatek_defconfig, we set 

CONFIG_PHY_MICREL=y
CONFIG_PHY_MICREL_KSZ8XXX=y

In am57xx-beagle-x15.dts, we also try to set

&cpsw_emac0 {
    phy-handle = <&phy0>;
    phy-mode = "rmii";
    dual_emac_res_vlan = <1>;
};

&phy0 {

    reg = <0>;
};

&phy_sel {

    rmii-clock-ext;
};

here is the uboot boot log

=>
=> reset
resetting ...

U-Boot SPL 2018.01 (Mar 27 2020 - 15:29:59)
DRA722-GP ES2.1
Trying to boot from MMC1
no pinctrl state for default mode
no pinctrl state for default mode
*** Warning - bad CRC, using default environment

spl: falcon_args_file not set in environment, falling back to default
spl_load_image_fat_os: error reading image args, err - 0
Selecting default config 'am57xx-beagle-x15'
Selecting default config 'am57xx-beagle-x15'
Selecting default config 'am57xx-beagle-x15'

U-Boot 2018.01 (Mar 27 2020 - 15:29:59 +0800)

CPU : DRA722-GP ES2.1
Model: TI AM5728 BeagleBoard-X15
Board: AM571x IDK REV 1.3
DRAM: 1 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Warning - bad CRC, using default environment

===>>> board_late_init
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
part_get_info_efi: *** ERROR: Invalid GPT ***
GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645
part_get_info_efi: *** ERROR: Invalid Backup GPT ***
SCSI: SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
scanning bus for devices...
Found 0 device(s).
Net: ===>>> rmii-clock-ext true
RMII External clock is not supported

Warning: ethernet@48484000 using MAC address from ROM
eth0: ethernet@48484000
Hit any key to stop autoboot: 0
=>
=> mii info
PHY 0x00: OUI = 0x0885, Model = 0x16, Rev = 0x01, 100baseT, FDX
=> setenv ipaddr 192.168.0.43
=> ping 192.168.0.25
link up on port 0, speed 100, full duplex
Using ethernet@48484000 device
host 192.168.0.25 is alive
=>
=>
=>
=> setenv ipaddr 192.168.0.43
=> setenv serverip 192.168.0.25
=> setenv gatewayip 192.168.0.1
=> setenv netmask 255.255.255.0
=> tftpboot 0x802C9800 192.168.0.25:testfile.img
link up on port 0, speed 100, full duplex
Using ethernet@48484000 device
TFTP from server 192.168.0.25; our IP address is 192.168.0.43
Filename 'testfile.img'.
Load address: 0x802c9800
Loading: #T T T #####T T ###T T ##T ##T T #T ###T T T #####T T T ##T

Can you help to let us know what is missing?