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.

eMMC boot questions for AM335X

Other Parts Discussed in Thread: AM3354

Have a few clarifying questions with respect to boot up of the AM3354, specifically the MMC ports.

The current design uses the SYSBOOT configuration and a 16GB microSD off of MMC0 to grab MLO/U-Boot image. Zeroing in on SPRUH73M page 4942, section 26.1.7.5.2.... 

I do see the eMMC vs SD comment.. The preference is that since were using MMC0 and MMC1 pins are already in use or otherwise not available, is to not cause a splash with the firmware. 

 

Q1> This section says MMC0 supports booting the MMC/SD cards with less than 4GB capacity.. Now I know were booting with a 16GB microSD card.. Is this 4GB the limitation for the MLO/U-Boot image and the remainder (of memory) may still be accessed by the app?

 

Q2> Is there a difference and/or requirement for a eMMC device to be placed on MCC1? Or can this be put on MMC0.. Were thinking of a dual footprint SD card or eMMC for our unit/s. 

 

Q3> MMC1 indicates that eMMC/eSD/etc devices with 4GB capacity or greater use this port.. Like Question 1, does this apply to the total memory space or just the MLO/U-Boot image.. And would that image or partition be at a minimum 4GB.. Example being that 4GB of a 16GB eMMC device would be dedicated to the boot image, even if the actual image was much less.

 

Q4> Is there a difference (Q1) between a SD vs MMC device management/access and/or limitations?

The Firmware guys are super concerned that this will be a huge difference in code. 

thank you!

  • Q1 - This is not correct. The 4GB restriction applies only for eMMC, not for SD cards.

    Q2 - eMMC can be placed on any MMC port, the only restriction is that MMC0 boot from eMMC may not work if the eMMC >=4GB.

    Q3 - All restrictions given here are regarding ROM code initialization only. If you do not boot from the eMMC you are free to use any size on any MMC port

    Q4 - Yes, these are two different specifications.

  • The 4GB eMMC restriction (Q1/Q2) would then be a problem with an eMMC of 16GB on MMC0.. 

    Based on this information and the size part we want to use, it would have to be on MMC1. (boot from MMC1)

     

    I'm also looking for information on how these eMMC wire up to the bus.. 

     

    The goal is ability to dual footprint for microSD card and eMMC off the CPU with the size being 16GB+.. 

     thank you

  • You can use the Beaglebone Black schematic as a reference: elinux.org/Beagleboard:BeagleBoneBlack
  • Most of the curiosity is with MMC0 using a eMMC of 16GB in x4 data width.. Not clear why there is a limitation on eMMC but not microSD.. 

     Thanks,

  • Because the initialization sequence is different.
  • As Biser stated, the initialization sequence is different between eMMC and SD. For eMMC a bit in a register needs to be set for 4GB or greater. The boot ROM does not set this bit for mmc0 but it does for mmc1. So you cannot boot from eMMC 4GB or greater on mmc0.

    Steve K.

  • HI guys, 

    i'm sorry for this but see below from the customer:

    You have partly answered a question I've been trying to get an answer on.. Could you expand on where this register is.. I presume it's in the AM3354.. 

    Now the second part of the question is if there is anything that can be done to set the bit.. and/or is there any issue with a eMMC that is bigger than 4GB but a boot image that is 4GB or less... I guess the other question would also be if TI plans to rev the part so that it would handle the larger eMMC off MMC0..

    Thank you

  • TI Lady said:
    You have partly answered a question I've been trying to get an answer on.. Could you expand on where this register is.. I presume it's in the AM3354.. 

    No, this is a register in the eMMC.

    TI Lady said:
    Now the second part of the question is if there is anything that can be done to set the bit.. and/or is there any issue with a eMMC that is bigger than 4GB but a boot image that is 4GB or less... I guess the other question would also be if TI plans to rev the part so that it would handle the larger eMMC off MMC0..

    There is no way to modify ROM code, and there are no plans to respin the part at present.

  • OK last question!! first a recap to make sure we understand.
    AM3354 sets the eMMC register bit in question on MMC1 but not MMC0, so this is the primary difference between the two ports and the 4GB issue..
    The "modify ROM code was relative to the AM3354 and don't hold our breath on a change to that.
    The 4GB limitation applies only to BOOT and not the MLO/U-Boot or post bring-up such as Linux..

    Last question Is the bit in question not being set by MMC0 pose any problem/issue if the boot image on the eMMC connected to MMC0 is less than 4GB in total size..

    Reconfirming that there would not be any access issue above 4GB in normal eMMC access stuff.. It just applies to BOOT..
    thank you so much
  • Yes, this is correct.
  • Thank you. i think you forgot this question: 

    Does the bit in question not being set by MMC0 pose a problem/issue if the BOOT image in the (greater than 4GB) eMMC connected to MMC0 is less than 4GB in total size?

  • TI does not guarantee successful boot from any >4GB eMMC device connected to MMC0, regardless of boot image size. I hope this answers all your questions.