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.

AM4372: eMMC factory programming

Part Number: AM4372

Hello,

What is the recommended way to manufacture AM4372 based product with eMMC storage?

I am specifically looking for suggestions or materials to program eMMC (in circuit) using boot ROM of AM4372.
Unable to determine the external source, which could run custom SPL / UBoot.

Ideally, it would be great, if AM4372 could boot as per this order,
1) Ethernet
2) USB Mass storage
3) MicroSD (MMC1)
4) eMMC (MMC2)

Many of the existing materials points to variety of boot options using SYSBOOT pins.
However, I am not sure whether those combinations were ever tested on the EVK.

It looks like micro SD seems to be the only reliable boot option.
This may not be possible with our end product.

Looking forward for external boot options with AM4372 boot ROM,

Thanks

  • Hello,

    The Boot ROM booting procedures and options are documented in Chapter 5 of the AM437x TRM. The boot sources are documented in Table 5-10. 

    You are correct that the EVM may not necessarily support all of these boot options. SD Card is the boot option that is most validated with the SDK as it is the easiest to get started with development.

    To my knowledge the EVM supports both Ethernet and USB Client (via network) boot.

    I hope this is helpful to you.

  • Hello,

    Thank you for your time to reply.

    Kindly refer to the related thread. 

    When we attempted the DIP switch settings for SYSBOOT[4:0] as 10110 for EMAC1, NAND_I2C, NAND, MMC0, the EVM appears to be damaged.
    It made audible noise with that setting and failed to boot from uSD after reverting the DIP switches to default.

    Has any one succeeded in booting this EVM over Ethernet ?

    Is it a limitation that this EVM could boot only from uSD from boot ROM code?

    Thanks

  • Hello,

    I confirmed that the AM437x EVM can boot over Ethernet with the following switch settings:

    Please note that sysboot[5] also needs to change.

    I hope this is helpful to you.

  • RonB,

    Thanks a lot for your efforts and input.

    Yes. When we tried the settings as per your picture, able to see BootP requests to PC.
    I need to refine my questions with respect to the preferred boot order of

    Ethernet
    USB Mass Storage
    Micro SD
    eMMC

    With your above input, Ethernet can be closed. In this configuration, I may not have access to USB and eMMC.
    It looks like Ethernet boot may not be possible along with uSD & eMMC. Kindly correct my understanding.

    Let me know, if you have any other suggestions for the second best option, in which eMMC appears last after UBS Mass storage or uSD.

    Thanks again,

  • Hi, 

    I'm glad you were able to get Ethernet boot up and running. 

    The order of the boot sources that the Rom Boot Loader (RBL) uses to boot the device are fixed and listed in Chapter 5 of the TRM as I mentioned above. These are selected by appropriate sysboot settings, just like you are changing them with the switches on the EVM. 

    If you need this specific boot order, you will need something else in the system that can modify the sysboot pins to set the appropriate mode needed for the order desired.

    I hope this helps you.

  • Hello,

    Thank you for your time and reply.

    Could you please expand more about your idea?
    {
    If you need this specific boot order, you will need something else in the system that can modify the sysboot pins to set the appropriate mode needed
    }

    As far as I know, these pins would be latched during power on and ROM decides the boot devices based on this index.
    I could not find one boot index, which could provide this boot order.

    How we may be able to modify the pins before ROM reads it?

    Thanks

  • Well, this is more of a system design issue. The switches we use on the EVM would be one example. If you need more programatic control, you would need to add something like a simple microcontoller or CPLD that could control these pins during boot. Often this capability can be added to another device that is already in the system.

    I hope this helps.