3.1.1.3. Booting over Ethernet (Ethernet RGMII)

This section documents how to configure the DHCP/BOOTP server to load bootloaders on to AM62x family of SoCs in Ethernet RGMII Boot mode.

3.1.1.3.1. Booting U-Boot from the network

AM62x 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

AM62x SK

am62x_evm_r5_ethboot_defconfig am62x_evm_a53_ethboot_defconfig

CPSW NUSS Ethernet

VCI: TI K3 Bootp Boot tiboot3.bin

VCI: AM62X U-Boot R5 SPL tispl.bin

VCI: AM62X U-Boot A53 SPL u-boot.img

Important

  • Ethernet RGMII boot is supported over RGMII1 (First port) on AM62x SoC.

  • CPSW PHYs should be strapped as per ROM’s expectation described in part’s TRM.

  • When the link info Bootmode pin is enabled, this means no auto-negotiation or reading of the Ethernet PHY is needed since the ROM will assume the link is up at 1Gbps, full duplex mode.

  • Disable link info Bootmode pin so that ROM can identify the PHY and establishes link with the supported speed and duplex mode.

  • Please note that due to MDIO corruption (Errata i2329), booting over Ethernet is not recommended for production purposes.

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

subnet 10.0.0.0 netmask 255.0.0.0
{
  range dynamic-bootp 10.0.0.2 10.0.0.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 10.0.0.17 10.0.0.25;
  default-lease-time 60000;
  max-lease-time 720000;
  next-server 10.0.0.1;
}

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