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.

AM62A7: Only tiboot3.bin transfered when boot via Eth

I follow the post to flash emmc via eth:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1328520/faq-how-to-boot-sk-am62b-sk-am62a-via-ethernet-and-flash-u-boot-and-linux-binaries-into-emmc-via-ethernet

compile log:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
igs@igs:ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07$ make u-boot-r5
===================================
Building U-boot for R5
===================================
make -j 20 -C /home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04 ARCH=arm am62x_evm_r5_ethboot_defconfig \
O=/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04/build/r5
make[1]: Entering directory '/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04'
make[2]: Entering directory '/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04/build/r5'
GEN Makefile
#
# configuration written to .config
#
make[2]: Leaving directory '/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04/build/r5'
make[1]: Leaving directory '/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04'
make -j 20 -C /home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04 ARCH=arm CROSS_COMPILE=/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/k3r5-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-oe-eabi/arm-oe-eabi- \
BINMAN_INDIRS=/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/prebuilt-images \
O=/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04/build/r5
make[1]: Entering directory '/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04'
make[2]: Entering directory '/home/igs/disk_2T/00_AM62/am62_prj/ti-processor-sdk-linux-edgeai-am62axx-evm-09_01_00_07/board-support/ti-u-boot-2023.04/build/r5'
GEN Makefile
scripts/kconfig/conf --syncconfig Kconfig
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Host PC ip is 192.168.1.248

Packets captured by Wiresharks are as follows:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1 0.000000000 192.168.1.248 239.255.255.250 SSDP 215 M-SEARCH * HTTP/1.1
2 1.000845567 192.168.1.248 239.255.255.250 SSDP 215 M-SEARCH * HTTP/1.1
3 10.868144453 0.0.0.0 255.255.255.255 BOOTP 342 Boot Request from 1c:63:49:15:91:e1 (1c:63:49:15:91:e1)
4 10.882185775 fe80::ce7d:1abf:899f:d020 ff02::16 ICMPv6 110 Multicast Listener Report Message v2
5 11.000202949 192.168.1.248 192.168.1.5 BOOTP 342 Boot Reply
6 11.000789861 1c:63:49:15:91:e1 Broadcast ARP 64 Who has 192.168.1.248? Tell 192.168.1.5
7 11.000843965 6c:24:08:cc:ce:41 1c:63:49:15:91:e1 ARP 42 192.168.1.248 is at 6c:24:08:cc:ce:41
8 11.001415597 192.168.1.5 192.168.1.248 TFTP 64 Read Request, File: tiboot3.bin, Transfer type: octet
9 11.003734318 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 1
10 11.004306691 192.168.1.5 192.168.1.248 TFTP 64 Acknowledgement, Block: 1
11 11.004470590 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 2
12 11.004919811 192.168.1.5 192.168.1.248 TFTP 64 Acknowledgement, Block: 2
13 11.005071682 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 3
14 11.005713813 192.168.1.5 192.168.1.248 TFTP 64 Acknowledgement, Block: 3
15 11.005866906 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 4
16 11.006970844 192.168.1.5 192.168.1.248 TFTP 64 Acknowledgement, Block: 4
17 11.007143253 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 5
18 11.007712906 192.168.1.5 192.168.1.248 TFTP 64 Acknowledgement, Block: 5
19 11.007876979 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 6
20 11.008302007 192.168.1.5 192.168.1.248 TFTP 64 Acknowledgement, Block: 6
21 11.008445321 192.168.1.248 192.168.1.5 TFTP 558 Data Packet, Block: 7
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Images needed to be transfered under /var/lib/tftpboot:

uart log:

02000000011a0000616d3632610000000000000048534653000800000008000002a6000000000000cb39ee39c52d0469806636ff350520fcf7065cbec5cdddfea08863506cC

it seems going to the back up mode(Uart).

/etc/dhcpd/dhcpd.conf

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
subnet 192.168.1.0 netmask 255.255.255.0
{
range dynamic-bootp 192.168.1.2 192.168.1.16;
if substring (option vendor-class-identifier, 0, 16) = "TI K3 Bootp Boot"
{
filename "tiboot3.bin";
} elsif substring (option vendor-class-identifier, 0, 20) = "AM62X U-Boot R5 SPL"
{
filename "tispl.bin";
} elsif substring (option vendor-class-identifier, 0, 21) = "AM62X U-Boot A53 SPL"
{
filename "u-boot.img";
}
range 192.168.1.17 192.168.1.25;
default-lease-time 60000;
max-lease-time 720000;
#next-server 192.168.1.1;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/etc/default/tftpd-hpa

Did I miss anything?

  • After apply patches in post:

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1307981/sk-am62a-lp-rgmii-boot-mode-problem/4968147#4968147

    There are some logs on Uart:

    First power on:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    [2024-04-08 14:47:02] U-Boot SPL 2023.04-gbf2a65ff-dirty (Apr 08 2024 - 13:55:42 +0800)
    [2024-04-08 14:47:02] SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
    [2024-04-08 14:47:02] am62a_init: spl_boot_device: devstat = 0xc23 bootmedia = 0x4 bootindex = 0
    [2024-04-08 14:47:02] am62a_init: board_init_f done
    [2024-04-08 14:47:02] SPL initial stack usage: 17040 bytes
    [2024-04-08 14:47:02] >>SPL: board_init_r()
    [2024-04-08 14:47:02] am62a_init: spl_boot_device: devstat = 0xc23 bootmedia = 0x4 bootindex = 0
    [2024-04-08 14:47:02] Trying to boot from eth device
    [2024-04-08 14:47:02] eth0: ethernet@8000000port@1
    [2024-04-08 14:47:02] ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
    [2024-04-08 14:47:05] am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
    [2024-04-08 14:47:05] udma_stop_mem2dev: peer not stopped TIMEOUT !
    [2024-04-08 14:47:05] am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
    [2024-04-08 14:47:05] Problem booting with BOOTP
    [2024-04-08 14:47:05] SPL: failed to boot from all boot devices
    [2024-04-08 14:47:05] ### ERROR ### Please RESET the board ###
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Second time power on:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    [2024-04-08 14:48:20] U-Boot SPL 2023.04-gbf2a65ff-dirty (Apr 08 2024 - 13:55:42 +0800)
    [2024-04-08 14:48:20] SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.8--v09.01.08 (Kool Koala)')
    [2024-04-08 14:48:20] am62a_init: spl_boot_device: devstat = 0xc23 bootmedia = 0x4 bootindex = 0
    [2024-04-08 14:48:20] am62a_init: board_init_f done
    [2024-04-08 14:48:20] SPL initial stack usage: 17040 bytes
    [2024-04-08 14:48:20] >>SPL: board_init_r()
    [2024-04-08 14:48:20] am62a_init: spl_boot_device: devstat = 0xc23 bootmedia = 0x4 bootindex = 0
    [2024-04-08 14:48:20] Trying to boot from eth device
    [2024-04-08 14:48:20] eth0: ethernet@8000000port@1
    [2024-04-08 14:48:20] ethernet@8000000port@1 Waiting for PHY auto negotiation to complete........ done
    [2024-04-08 14:48:23] link up on port 1, speed 1000, full duplex
    [2024-04-08 14:48:23] BOOTP broadcast 1
    [2024-04-08 14:48:23] *** Warning: no boot file name; using '00000000.img'
    [2024-04-08 14:48:23] Using ethernet@8000000port@1 device
    [2024-04-08 14:48:23] TFTP from server 192.168.1.248; our IP address is 192.168.1.3
    [2024-04-08 14:48:23] Filename '00000000.img'.
    [2024-04-08 14:48:23] Load address: 0x82000000
    [2024-04-08 14:48:23] Loading: *
    [2024-04-08 14:48:23] TFTP error: 'File not found' (1)
    [2024-04-08 14:48:23] Not retrying...
    [2024-04-08 14:48:23] udma_stop_mem2dev: peer not stopped TIMEOUT !
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hello,

    I see in the second most recent log that the following shows up. This indicates that the boot file (either tispl.bin or u-boot.img) were not found by TFTP. I do think tiboot3.bin was successfully transferred because your console does show "U-Boot SPL 2023.04-gbf2a65ff-dirty (Apr 08 2024 - 13:55:42 +0800)". 

    Fullscreen
    1
    2
    3
    4
    [2024-04-08 14:48:23] *** Warning: no boot file name; using '00000000.img'
    [2024-04-08 14:48:23] Using ethernet@8000000port@1 device
    [2024-04-08 14:48:23] TFTP from server 192.168.1.248; our IP address is 192.168.1.3
    [2024-04-08 14:48:23] Filename '00000000.img'.
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Could you check your /var/lib/tftpboot directory and check that the newly built tispl.bin and u-boot.img files are still there? Additionally, it may be helpful to check Wireshark as well.

    I think the first most recent log may have something to do with the Errata i2329, which could have led to autonegotiation to not work properly due to MDIO corruption. This is why it is not recommended to use Boot via Ethernet for production purposes.

    -Daolin

  • Additionally, does the first most recent log showing autonegotiation timeout occur only one time? I.e. is it always the first boot after building the u-boot binaries that the timeout error occurs?