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.

OMAP-L138 Experimenter kit doesn't recognize SD/MMC

Other Parts Discussed in Thread: OMAP-L138, OMAPL138

Hello everyone,

I am trying to start the root file system from a SD card on my OMAP-L138 Experimenter Kit.

I followed the instructions of http://processors.wiki.ti.com/index.php/GSG:_Building_Software_Components_for_OMAP-L1/AM1x.

I rebuilded the u-boot, configured the kernel with SD/MMC support and build the uImage and loaded to the board successfuly. Then I installed the modules and started the board with the root file system from a USB but nothing happens when I insert a SD card (I tried with several brands).

The only information I get is this:

root@da850-omapl138-evm:~# dmesg | grep mmc

davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode

 

I also boot with different uImages (last version from arago-project.org and DaVinci-PSP-SDK-03.20.00.12 builded image) but nothing happens.

I also tried to rebuild the u-boot to read the uImage from the SD card but I didn't get success. The console write this:

U-Boot 2009.11 (ago 24 2010 - 16:21:50)                                                                                         
                                                                                                                                
I2C:   ready                                                                                                                    
DRAM:  64 MB                                                                                                                    
In:    serial                                                                                                                   
Out:   serial                                                                                                                   
Err:   serial                                                                                                                   
ARM Clock : 300000000 Hz                                                                                                        
DDR Clock : 150000000 Hz                                                                                                        
MMC:                                                                                                                            
Net:   Ethernet PHY: GENERIC @ 0x00

 

Any suggestions?

Cerilet.

 

  • I got something with the U-Boot SD/MMC support. I am going to explain what I did.

    We use git, a distributed revision control system, to get the latest patches of the source code. My platform is Ubuntu 10.04, if not installed execute this command to install it:

    Host $ sudo apt-get install gitk

    First of all we clone the source code:

    Host $ git clone git://arago-project.org/git/people/sekhar/u-boot-omapl1.git;protocol=git;branch=mmc

    After pulling from the git repository, we select the "mmc" branch. If we just pulled we are in master branch which does not have mmc support.

    Host $ git branch  

    master
    Host $ git branch -a

    * master
      origin/DAVINCIPSP_03.20.00.08
      origin/HEAD
      origin/master
      origin/mmc
      origin/wakeup

    Now we create a local branch "mmc" from "origin/mmc" and switch to it:

    Host $ git branch mmc origin/mmc

    Host $ git checkout mmc

    Switched to branch "mmc"

    So we have now selected the mmc support. Rebuilding U-Boot:

    host$ make distclean CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make da850_omapl138_evm_config CROSS_COMPILE=arm-none-linux-gnueabi-
    host$ make all CROSS_COMPILE=arm-none-linux-gnueabi-

    The next step is to copy the u-boot.bin file into the SPI flash (tutorial here). I used the Serial Flasher for windows (downloadable here). Also we need the UserBootLoader image (ubl_OMAPL138_SPI_MEM.bin). We copy it where the executable sfh_OMAP-L138.exe, open a cmd terminal and execute the next command:

    C:\<Extract folder>\OMAP-L138\GNU\sfh_OMAP-L138.exe -flash ubl\ubl_OMAPL138_SPI_MEM.bin u-boot.bin (our builded u-boot)

    Then we turn off the board, set pin 7 and 8 of the S7 switch on and turn on the board. Then both images are copied into the SPI flash. Then, turn off both pins and restart the board. The output will be (hopefully) this:

    OMAP-L138 initialization passed!

    Booting TI User Boot Loader
            UBL Version: 1.65
            UBL Flashtype: SPI
    Starting SPI Memory Copy...
    Valid magicnum, 0x55424CBB, found at offset 0x00010000.
       DONE
    Jumping to entry point at 0xC1080000.


    U-Boot 2009.11-00003-g50db5a8 (ago 30 2010 - 11:16:44)

    I2C:   ready
    DRAM:  64 MB
    MMC:   davinci: 0
    In:    serial
    Out:   serial
    Err:   serial
    ARM Clock : 300000000 Hz
    DDR Clock : 150000000 Hz
    Net:   Ethernet PHY: GENERIC @ 0x00

    Apparently the U-Boot loads the drivers for SD/MMC cards but when I type these commands, the board can't initialize the SD/MMC:

    U-Boot > mmc init                                                                                                               
    U-Boot > mmcinfo 0                                                                                                              
    Card did not respond to voltage select!                                                                                         
    Device: davinci                                                                                                                 
    Manufacturer ID: 0                                                                                                              
    OEM: 0                                                                                                                          
    Name: Tran Speed: 0                                                                                                             
    Rd Block Len: 0                                                                                                                 
    MMC version 0.0                                                                                                                 
    High Capacity: No                                                                                                               
    Capacity: 0                                                                                                                     
    Bus Width: 1-bit

    Anyone knows why it doesn't work?

    Thanks,

    Cerilet.