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.

AM1808 SD0 Boot Option

Other Parts Discussed in Thread: AM1808, OMAP-L138, CCSTUDIO

Datasheet for AM1808 (SPRS653B) does not list SD Card as a possible boot
option.
It says to look at (SPRAB41) for more info.  SPRAB41D it titled "Using
the OMAP-L138 Bootloader. This document
Boot Mode Selection Table lists MMC/SD0 as a possible option with
footnote "MMC/SD boot mode is only supported by ROM revision d800k008.
To check your ROM revision, follow the instructions in Section 1."
Also in the SPRABA5B "Using the AM18xx Bootloader" it says the same
thing about MMC/SD0.

 It looks to me that it may have been a late addition to the boot ROM in the AM1808.  I would like
to know when this change was made and if it is something that will be
kept in any future versions of the ROM.
Can we safely design using the MMC/SD0 as a boot option today or would
we have to worry that the parts we buy might have an incompatible
version of ROM.

If yes, is there a date code on the part that we  make sure it is compatible part ???

  • Faraz,

    Data sheet and errata doc are being updated to reflect new ROM revision and should be released sometime in Sept.  Bootloader App note was updated and released first per customer request.

    PG2.1 silicon will be released to market sometime in Sept.  I don't have an exact date yet.  In terms of package/case symbolization "21" will be added on the case marking for PG21.  In terms of software identification, reading the ROM ID will be the most effective way.

    Regards.

  • I am looking for a detailed description of the process involved to create a bootable SD Card using SD0 on the AM1808.

    The page titled "GSG: Building Software Components for OMAP-L1/AM1x" is informative but focuses on SPI, NAND and NOR Boot.  There is some information on MMC/SD Boot but missing is some steps analogous to "SPI Flash Writer".

     

    Main questions:

    Process for taking the output of AISgen and putting it on an SD Card.

    User Boot Loader (UBL) and U-Boot compile and installation on an SD Card.

    How does the UBL and U-Boot connect to uImage kernel.

    Does UBL and U-Boot have to be compiled with Code Composer or are there other methods.

     

  • Hi,

    Pietro Russo said:

    Process for taking the output of AISgen and putting it on an SD Card.

    http://processors.wiki.ti.com/index.php/GSG:_OMAP-L138_DVEVM_Additional_Procedures#Creating_bootable_SD_card_for_OMAP-L138_EVM_board

    Pietro Russo said:

    User Boot Loader (UBL) and U-Boot compile and installation on an SD Card.

    http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Rebuilding_the_ARM_Side_User_Boot_Loader

    http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Rebuilding_U-Boot

    Pietro Russo said:

    How does the UBL and U-Boot connect to uImage kernel.

    I am not sure I understood this question completely. You can download the uImage from U-Boot prompt using tftp command.

    Pietro Russo said:

    Does UBL and U-Boot have to be compiled with Code Composer or are there other methods.

    U-Boot should be compiled from Linux Host and UBL can also be compiled from Linux Host. Refer to "When using Cygwin or Linux Host:" under http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1#Rebuilding_the_ARM_Side_User_Boot_Loader.

    Regards, Sudhakar

  • Hello Sudhakar,

    I think I am still missing something.

    Here is what I believe to be the complete boot sequence:

    1. AM1808 powers on, runs internal ROM code which looks for UBL on the SD0 port when the BOOT[7:0] Pins are set to 00011100.

    2. UBL needs to be placed onto the card  after sector0.  UBL code executes and looks for U-Boot.

    3. U-Boot needs to be placed on the card after UBL somewhere.  U-Boot executes and looks for boot.scr or uImage on a formatted partition of the SD Card.

    4. uImage then loads the root file system.

     

    Let me focus on UBL first.

    The first link says "The UBL on OMAP-L138 expects the u-boot descriptor to be present in sectors 1 to 25 of the SD card. Sector 0 is used for storing DOS partition information. Hence the u-boot descriptor is stored from sectors 1 till 24." ... "starting the first cylinder at 20 provides us about 600Kbytes for storing UBL and u-boot" and then describes how to put u-boot.bin onto the card.

    The second link describes how to use CCStudio to build the ARM UBL for MMC/SD boot and then use AISgen to convert the .out file to .bin file. It describes how to flash the bin file to NAND,SPI and NOR but I do not see how to do it for SD Card.

    I am essentially looking for a description of the steps needed to format a card and put UBL,U-Boot,uImage and rootfilesystem onto the card.

    How do I put arm-sdmmc-ais.bin (UBL) onto an SD Card?  It seems like it needs to get written starting at sector1 in an unformatted part of the card.

     

     

  • Hi,

    I understand your confusion. Note that OMAP-L138 does not support pure MMC/SD boot mode, meaning the ROM code cannot boot UBL from SD card. So the UBL is kept in SPI/NAND/NOR and ROM code boots the UBL from there. UBL then accesses MMC/SD card and boots u-boot.

    Regards, Sudhakar

  • Hi Pietro, 

    Alex Wilson brought this thread to our notice. 

    Some clarifications on this thread

    1) AM18xx Silicon Revision 2.1 does support in the RBL for MMC/SD boot. This was a recent addition. 

    2) It is my understanding that while the device/hardware supports the boot mode, we do not have the support factored in (or planned) as part of the Linux SDK/PSP etc. So to get this working on your own might require some extra work at your end unfortunately. 

    Alex should be forwarding you some more information offline to hopefully keep you moving on this.

    Regards

    Mukul