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.

AM4378: AM437x-GP-EVM peripheral boot up over ethernet .

Part Number: AM4378

am trying to boot up the am437x -GP EVM  board over ethernet, with sysboot pins configured accordingly.

I tried connecting ethernet cable to both ethernet port and Led on ethernet phy glowing with buzzer sound coming out of the board.

Toggled SYSBOOT[0-4] on GP EVM with SW12 switch with values 11100 , 00111. 

On Linux Machine i am using wireshark & tcp dump tools to observe packets traces. I am not getting BOOTP packets on the trace.

Need help in debugging this issue on EVM.

  • Siva,

    The mode strapping on the GP EVM for the Ethernet PHY is setup to support all modes of operation (10/100/1000Mbps, half and full duplex).  However, the Ethernet Controller on AM437x does not support 1G, half duplex. 

    This ultimately affects Ethernet booting with the GP EVM.  If the remote Ethernet PHY you connect does support 1Gbit, half duplex mode (which is the case with most PCs and ethernet switches), then during boot the EVM Eth PHY will auto-negotiate to 1Gbit, half duplex, and the ROM will never send out a BOOTP packet to initiate Ethernet boot.  Because of this limitation in the AM437x Ethernet controller, this mode needs to be precluded in the Ethernet PHY boot strapping options. 

    Specifically on the GP EVM,the strapping option should be MODE[3:0] = 1110 (RGMII mode–advertise all capabilities (10/100/1000 speed half-/full-duplex), except 1000Base-T half-duplex), which means the default resistor stuffing should be install R437, remove R438    

    Regards,

    James

  • ok i will try modifying the Remote Ethernet Phy (i.e ubuntu machine) capabilities to 1G, full duplex using ethtool command.

    I will try on this set up and get back to you if it works.

    I am unable to understand below line from your previous reply message. I need to remove any resistor from GP EVM board to support 1G half duplex? 

    which means the default resistor stuffing should be install R437, remove R438

  • Yes, you need to make a change on the EVM.  Install R437, remove R438.  This is to prevent advertisement of 1000Base-T half-duplex

    Regards,

    James

  • I am using ethtool command to verify my link speed of my linux machine.

    I connected am437x-gp evm to my linux machine. after that i exucuted ethtool command it is 100Mb/s Full duplex and auto negotiation:on.

    Still i am not getting BOOTP messages.  

  • I'm not sure what could be going wrong.  Is there any trasmission you see with ethtool?  Do you have wireshark to monitor ethernet traffic?

    Regards,

    James

  • On the same set up. I replaced the am437x-GP-EVM board with am335x-GP-EVM.

    Updated the SYSBOOT[0-7] as 11100001. I am getting BOOTP Messages with vendor ID.

    Updated the dhcpd.conf & tftp.conf file and restarted the server. Now i can see board downloading u-boot-spl.image.

    But u-boot-spl is again sending BOOTP packets & packets are not visible on wireshark.

    Warning: eth_cpsw using MAC address from ROM

    eth0:eth_cpsw

    eth_cpsw is Waiting for PHY auto negotiation to complete... done 

    link up on port 0 speed 100, full duplex

    BOOTP broadcast 1

    BOOTP broadcast 2

    BOOTP broadcast 3

    BOOTP broadcast  10

    BOOTP broadcast  17

    Retry time exceeded; starting again

     

    problem booting with BOOTP.

  • My Set up is similar to the document. 

    As mentioned in the URL, I tried using u-boot-spl.bin-am335x-evm  from the prebuild TI SDK images. 

    I am still getting same issue. But i am seeing very few prints on the serial console.

     U-Boot SPL 2021.01-g44a87e3ab8  (May 14 2022 - 22:32:40 +0000)

    Trying to boot from eth device

  • Followed the shared link.

    Attaching the findings from same

    I doubt about the SYBOOT pins being set plus some additional way to get to know what stops the proc from sending bootp packets

    NFS on AM437 (as PDF).pdfWiresharkdata.pdf

  • I think you have the boot mode switches backward on the AM437x EVM.  If the switch is ON, the signal is pulled low, If the switch is OFF, the signal is pulled high.  So SW12 should be ON ON OFF OFF OFF (starting from pin 1).  And SW11 should be ON DC DC ON ON (starting from pin 1)  (DC is don't care).  Can you try with this switch setting?

    Regards,

    James

  • Tried said sysboot cfg, but couldnt see any bootp packets 

    I see the led blinking on ETH (RJ45) on target and ARP, ICMP etc packets from my pc source eth but nothing comes out from hardware

    Please advice

  • Some more debugging info attached from HW per se.

    I do not see the LINK-UP

    Tried this on two hardware AM437x-EVM Rev1.5B and Rev1.5C both doesnt give me BOOTP packet

    I did set SYSBOOT pins as suggested

    " So SW12 should be ON ON OFF OFF OFF (starting from pin 1).  And SW11 should be ON DC DC ON ON (starting from pin 1)  (DC is don't care). "

    Please find attached analysisWaveform on MDIO_CLK + 1 (as PDF).pdfI do see MDIO_CLK being generated from prcessor and this clock is at 1MHZ, Do i need to monitor other clocks like TX and RX being driven from processor

    I now have started doubting PHY ability to send out packet.

    Appreciate some guidance and response

    Thanks

    -maheshG

  • Some more information from the debugging doneAnswers for questions(1-2-3) fro (as PDF).pdf

    Issue still persists

  • So the MDIO clock at least indicates it is attempting Ethernet boot.  So using wireshark, you don't see any BOOTP packets?  Does wireshark show any output?  Ensure you start the wireshark trace before powering up the EVM.

    Do you have JTAG access to your board?  I would like to see if you can dump memory address 0x44E10040 (to confirm the boot mode pins configuration) and 0x40338E40-0x40338E50 (boot trace vectors)

    Regards,

    James

  • Yes, i see lots of packets, mostly from my PC as source (I do keep wireshark running before i start target)

    But none from the target device (BOOTP packet from Target)

    I will try to see if i get hands on the Debugger

    I also have AM335x evm and if i connect that to my setup i do see BOOTP Packet

    I did further analysis and compared PHY between AM335x and AM437x EVM hardware

    I see on AM335x the Strap pins are configured for 1000-Base-T where as we arent configuring our phy to that

    Please find attached pdf for what i am trying say plus some wireshark data Strap Compare between AR8031a & (as PDF).pdf

    Will get back with JTAG info later today

  • Mahesh, not sure what could be going wrong here.  Double check the rework on the AM437x EVM (probe signals to ensure proper levels at the point the PHY reset is released).  

    Are all these tests you are performing at power on reset?  Can you try on a warm reset (should be a push button to enable that on the EVM)?

    Regards,

    James

  • This issue is resolved.

    We received inputs from from Jose Frangline and Shashank Kulkarni from TI which worked for us

    We were missing SYSBOOT5 pin in proper state, which led to the issue

    We now receive the BOOTP packets on AM437x-GP-EVM HW