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.

PROCESSOR-SDK-AM335X: Why I cant boot from ethernet using AM335x with AR8035?

Part Number: PROCESSOR-SDK-AM335X

I have booted from ethernet on BeagleBone Black Industrial 4G which use LAN8710A(MII),but failed to boot from my own board which use AR8035(RGMII).

https://processors.wiki.ti.com/index.php/Sitara_Linux_Program_the_eMMC_on_Beaglebone_Black#Setup_the_Hardware

I have changed the sysboot pins like below,sysboot[7:6]=11b,sysboot[4:0]=10101b.

I use wireshark to capture and compare the packets, there is no bootp request from my own boad.

1256.wireshark.zip

After comparing the ethernet circuit between AM335x Starter Kit (SK)  with my board,the former use AR8031 and the latter use AR8035.Except that the only difference is INT signal,I connet it to AM335x_EXINT.Is it the reason?

  • Hi Jalon,

    when you boot from a different boot media such as MMC, can you fully use and confirm your AR8035 based network interface works under Linux? This would  confirm that your basic HW is good, and the issue is really with getting the ROM to recognize your PHY correctly. There might be some (LED) strapping configuration that PHY needs to work properly.

    Regards, Andreas

  • 1.I'm sure that the HW is good,when I boot  from sd card and use dhcp,tftp commands to test the network interface in u-boot,it works well.

    2.I have read the TRM again,maybe it's the mismatch of the phy mode.

      When I set the sysboot[7:6] to 11b,the phy mode is RGMII without internal delay.

      Refer to the datasheet of AR8035,the default RX_CLK timing is RGMII with internal delay,it should be disabled by modifing the corresponding register in rom code.

      Do you have other method to fix this problem?

  • Jalon said:
    1.I'm sure that the HW is good,when I boot  from sd card and use dhcp,tftp commands to test the network interface in u-boot,it works well.

    That's good, thanks for confirming.

    Jalon said:
    2.I have read the TRM again,maybe it's the mismatch of the phy mode.

    Jalon said:
      Refer to the datasheet of AR8035,the default RX_CLK timing is RGMII with internal delay,it should be disabled by modifying the corresponding register in rom code.

    That looks pretty much like it's the issue here. I spent a few minutes looking through the AR8035 datasheet, and I don't see a way to control the RGMII clock delay settings via pin strapping options (some PHYs allow that, and it's usually done through the LED pins, hence my earlier suggestion). The AM335x boot ROM will not program those registers for you as far as I understand. So you won't be able to use that particular PHY to boot SPL/U-Boot over network.

    So your options are pretty much...

    1. Boot from MMC (or another media) until U-Boot is fully up. From there, continue booting over network (i.e., load Kernel, DTB via tftp or nfs, and then mount rootfs via nfs). Essentially, using a hybrid approach to boot.
    2. Use a different PHY

    Regards, Andreas