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.

SD card booting problem

Hello 

I am using AM64 board ,I trying to boot from SD Card.I set the boot pins to SD card but the board is booting from internal MMC.

and When I erased the mmc , the board is not booting at all. 

Could you please help me with this ?

  • If you're working with AM64x Linux SDK, the latest SDK 7.3.1 can be downloaded from
    www.ti.com/.../PROCESSOR-SDK-LINUX-AM64X
    , and the boot-able SD card can be created following the link
    software-dl.ti.com/.../Create_SD_Card.html
    , and the info on configuring boot mode can be referenced from 3.4.4.1 Boot Modes in AM64x GP EVM user guide at
    www.ti.com/.../spruix0

  • Hello ,

    This is the SDK I am already using , I tried both the ready .wic file and tried to create build my own image and both did not work.

    The SD card is not booting.

  • I'm attaching a log file booting from SD card using SDK 7.3.1 on AM64x EVM for your reference.
    Have you checked Boot Mode Selection Switches (SW2, SW3) for MMC/SD card booting as described in 3.4.4 Configuration in AM64x GP EVM user guide (www.ti.com/.../spruix0)

    Best,

    -Hong

    am6_7.3.1_pb_MMC_boot.txt
    U-Boot SPL 2020.01-ge995ed0ec1 (May 28 2021 - 16:20:13 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    SPL initial stack usage: 13396 bytes
    Trying to boot from MMC2
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.4(release):2021.00.003-dirty
    NOTICE:  BL31: Built : 14:41:43, May 28 2021
    
    U-Boot SPL 2020.01-ge995ed0ec1 (May 28 2021 - 14:48:57 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    Trying to boot from MMC2
    
    
    U-Boot 2020.01-ge995ed0ec1 (May 28 2021 - 14:48:57 +0000)
    
    SoC:   AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    Board: AM64-GPEVM rev E2
    DRAM:  2 GiB
    not found for dev mux
    MMC:   sdhci@fa10000: 0, sdhci@fa00000: 1
    Loading Environment from FAT... In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   
    Warning: ethernet@8000000 using MAC address from ROM
    eth0: ethernet@8000000
    Hit any key to stop autoboot:  2  0 
    =>

  • Yes , I checked it. but shall the spl for the emmc be different from the spl of sd-card or I can use the same one for both?

  • The same binaries are used for booting from MMC or eMMC.
    Can we "list" the binary files on the boot partition of your MMC card?

  • There are the binaries on the emmc

    and these are from the SD card 

  • I think you're able to boot from eMMC on your set-up from your early message?
    If yes, can we run a quick test, and upload the full serial log (from power-on-reset) in attachment from running the following cmds @u-boot prompt booting from eMMC (also keep your SD card plug-in)?

    md.l 0x43000030 1
    mmc list
    mmc dev 1
    mmc info
    mmc part
    ls mmc 1:1
    ls mmc 1:2

  • Hello , 

    I tried the command and here is the log

     

    teraterm_ti.log
    U-Boot SPL 2020.01-g2781231a33 (Jun 08 2021 - 09:26:55 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    Trying to boot from MMC1
    Loading Environment from MMC... OK
    init_env from device 9 not supported!
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.4(release):2021.00.003-dirty
    NOTICE:  BL31: Built : 16:22:13, Jun  6 2021
    
    U-Boot SPL 2020.01-g2781231a33 (Jun 06 2021 - 16:35:22 +0000)
    SYSFW ABI: 3.1 (firmware rev 0x0015 '21.1.1--v2021.01a (Terrific Lla')
    Trying to boot from MMC1
    
    
    U-Boot 2020.01-g2781231a33 (Jun 06 2021 - 16:35:22 +0000)
    
    SoC:   AM64X SR1.0
    Model: Texas Instruments AM642 EVM
    Board: AM64-GPEVM rev E2
    DRAM:  2 GiB
    MMC:   sdhci@fa10000: 0, sdhci@fa00000: 1
    Loading Environment from MMC... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000
    Hit any key to stop autoboot:  2  1  0 
    => md.l 0x43000030 1
    43000030: 0000004b                               K...
    => mmc list
    sdhci@fa10000: 0 (eMMC)
    sdhci@fa00000: 1
    => mmc dev 1
    switch to partitions #0, OK
    mmc1 is current device
    => mmc info
    Device: sdhci@fa00000
    Manufacturer ID: 3
    OEM: 5344
    Name: SC16G 
    Bus Speed: 50000000
    Mode: SD High Speed (50MHz)
    Rd Block Len: 512
    SD version 3.0
    High Capacity: Yes
    Capacity: 14.8 GiB
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes
    => mmc part
    
    Partition Map for MMC device 1  --   Partition Type: DOS
    
    Part	Start Sector	Num Sectors	UUID		Type
      1	2048      	270848    	f8ff03c1-01	0c Boot
      2	274432    	1597450   	f8ff03c1-02	83
      3	1873920   	4194304   	f8ff03c1-03	83
      4	6068224   	25048064  	f8ff03c1-04	0c
    => ls mmc 1:2
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 lib
    <DIR>       4096 media
    <SYM>         20 init
    <DIR>       4096 home
    <DIR>       4096 proc
    <DIR>       4096 dev
    <SYM>         19 linuxrc
    <DIR>       4096 tmp
    <DIR>       4096 boot
    <DIR>       4096 var
    <DIR>       4096 sys
    <DIR>       4096 sbin
    <DIR>       4096 mnt
    <DIR>       4096 bin
    <DIR>       4096 usr
    <DIR>       4096 etc
    <DIR>       4096 run
    => mmc lmmc smmc  mmc mmc 1:2
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 lib
    <DIR>       4096 media
    <SYM>         20 init
    <DIR>       4096 home
    <DIR>       4096 proc
    <DIR>       4096 dev
    <SYM>         19 linuxrc
    <DIR>       4096 tmp
    <DIR>       4096 boot
    <DIR>       4096 var
    <DIR>       4096 sys
    <DIR>       4096 sbin
    <DIR>       4096 mnt
    <DIR>       4096 bin
    <DIR>       4096 usr
    <DIR>       4096 etc
    <DIR>       4096 run
    => 

  • Thanks for running the test on your setup.
    1. Have you ran <ls mmc 1:1> cmd @u-boot prompt? If yes, what is serial terminal print?
    2. When you were trying to boot from MMC card, what was dip switch setting for SW3.2?
    You may refer to Figure 3-10. AM64x/AM243x GP EVP PCB, Boot Mode Selection Switches (SW2, SW3) in AM64x GP EVM user guide.

  • thanks a lot , problem was in SW 3.2