Booting over Ethernet (Ethernet RGMII)

This section documents how to configure the DHCP/BOOTP server to load bootloaders on to AM64x family of SoCs in Ethernet RGMII Boot mode. Booting U-Boot from the network

AM64x family of SoCs supports loading SPL and U-Boot over the network using DHCP/BOOTP protocol. The DHCP server replying to DHCP/BOOTP requests from the SoC must provide filename to be fetched over TFTP for each stage depending on the Vendor-Class-Identifier (VCI) DHCP field specified in the request. VCI DHCP field is filled out by the ROM and subsequent stages and corresponding binaries files to be sent over TFTP are listed in the table below.

Board Defconfigs Supported interfaces ROM R5 SPL A53 SPL
AM64x GP EVM am64x_evm_r5_defconfig am64x_evm_a53_defconfig CPSW NUSS Ethernet VCI: TI K3 Bootp Boot file: tiboot3.bin VCI: AM64X U-Boot R5 SPL file: tispl.bin VCI: AM64X U-Boot A53 SPL file: u-boot.img


  • Ethernet RGMII boot is supported over RGMII2 (Second port) on AM64x SoC.
  • RGMII boot is only supported on AM64x SK EVM and not supported on AM64x GP EVM as port is muxed to ICSSG by default
  • CPSW PHYs should be strapped as per ROM’s expectation described in part’s TRM.
  • Link info Bootmode pin needs to be ON along with RGMII boot mode selection Bootmode pins.

If using ISC dhcpd an example host entry would look like this:

subnet netmask
  range dynamic-bootp;
  if substring (option vendor-class-identifier, 0, 16) = "TI K3 Bootp Boot"
    filename "tiboot3.bin";
  } elsif substring (option vendor-class-identifier, 0, 20) = "AM64X U-Boot R5 SPL"
    filename "tispl.bin";
  } elsif substring (option vendor-class-identifier, 0, 21) = "AM64X U-Boot A53 SPL"
    filename "u-boot.img";

  default-lease-time 60000;
  max-lease-time 720000;

A walk through of these steps to setup isc-dhcp-server on Ubuntu can be found at here.