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.

AM6421: BOOT over ethernet

Part Number: AM6421

Hi Ti experts

In our project, we are using your AM64x SKEVM boards. For development purposes, we need to use BOOT over Ethernet functionality.

As a reference image for testing I'm using your default image available in SDK from the site:

www.ti.com/.../PROCESSOR-SDK-AM64X

After unpacking
file: tisdk-default-image-am64xx-evm.wic.xz
I got :
- tispl.bin
- tiboot3.bin
- u-boot.img


After preparing the DHCP server and TFTP server with the configuration proposed by TI from :

software-dl.ti.com/.../UG-Network-K3.html

 This is what I get:

   

BOOT PROCESS:

  1. Using Wireshark I can see that BOOTP REQUEST and RESPONSE packets are there.
  2. The board receives an IP address from the DHCP server and starts sending tiboot3.bin.
  3. Launched tiboot3.bin negotiates the connection and downloads tispl.bin
  4. Running tispl.bin negotiates the connection ( Probably using the earlier one ) and downloads u-boot.img
  5. When u-boot.img is launched, it stops at the shell. as no alternative method of uploading the image has been selected.
  6. Any interaction with the uboot command regarding to Ethernet functionality ( dhcp / bootp/ tftpboot ) ends up with this same message.

While building my custom version of u-boot, I noticed that the device tree included in tispl.bin and tiboot3.bin files is slightly different from the one which is attached to u-boot.img.

k3-am642-evm-u-boot.dtsi

This includes file is a part of tiboot3.bin and tispl.bin  and overlay cpsw3g  node as below.

 

&cpsw3g {

            reg = <0x0 0x8000000 0x0 0x200000>,

                  <0x0 0x43000200 0x0 0x8>;

            reg-names = "cpsw_nuss", "mac_efuse";

            /delete-property/ ranges;

            u-boot,dm-spl;

 

            cpsw-phy-sel@04044 {

                       compatible = "ti,am64-phy-gmii-sel";

                       reg = <0x0 0x43004044 0x0 0x8>;

                       u-boot,dm-spl;

            };

            ethernet-ports {

                       u-boot,dm-spl;

            };

};


After a deeper check,It looks like device tree k3-am642-sk.dts which is included in Uboot.img is the same device tree that is given during kernel initialization. After booting the kernel with this device tree, both ethernet ports work properly. However, they do not work at u-boot.img stage.


Question:
1. Does the AM64X-SKEVM board support full boot over eth? If so, can you help me to achieve this?

2. Why do tispl.bin and tiboot3.bin support boot ethernet and u-boot.img not?

Thanks for your time.

Best regards