OSD3358-512M-ICB Boot and eMMC programming options - custom board design

I would like to verify the boot and eMMC programming options for a custom design using a OSD3358-512M-ICB and possible boot options with changes to design.

I have a design with the following port options:
USB0 - not used
USB1 - external port
Ethernet - MII1 external port
MMC0 - onboard uSD card
MMC1 - internal C-Sip eMMC

SYSBOOT[4:0] = 11100 = MMC1, MMC0, UART0, USB0
Currently initialize with MMC0 to program MMC1 for future boot.

I am considering a change to allow for external device boot (Ethernet or USB) to initialize and program MMC1 for future boot.
I look at AM3358-TRM Table 26-7:

  1. EMAC1 and MMC1 combined boot paths are not available.
    MMC1 is present in only one boot search path option, the configuration I currently use.
    It is not possible to initialize using EMAC1, program MMC1 and future boot from MMC1 without having two SYSBOOT options and using MMC0, correct?

  2. EMAC1 and MMC0 are the only Ethernet/eMMC combinations available.

  3. USB1 is not available in any option.
    USB0 is the only USB option for external boot and programming of MMC0/MMC1, correct?

I am stating the obvious above from Table 26-7, though I am looking to see if I missed anything and thought it would be helpful to detail these boot option limitations here for future reference.

Thank you for your consideration.
Steve K.

Hey Steve,

You are correct. The use case you are suggesting will need boot mode config modification like with push button S3 on OSD3358-SM-RED(https://octavosystems.com/docs/osd3358-sm-red-schematics-pdf/).

Here is an old app note that talks about USB0 boot to flash internal eMMC on MMC1 interface for OSD3358 CSiP: https://octavosystems.com/app_notes/programming-emmc-with-usb/.

There is also UART0 boot that is alternative(SYSBOOT[4:0] = 0b11100). Getting SPL and u-boot through UART0 will slow down the flashing a bit, but once u-boot is up, you can utilize Ethernet to transfer image file to eMMC on MMC1.

Best,
Neeraj