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.

OMAP4460 can not boot from MMC2

Other Parts Discussed in Thread: 4460

Hi all,

I use the http://omappedia.com/wiki/4AI.1.4_OMAP4_Icecream_Sandwich_Panda_Notes for my 4460 panda board. Everything is good. But I want to boot panda board from MMC2. So I use J3 expansion connector that according to the block:

I also configure SYSBOOT pin of OMAP to boot according to order of peripheral : USB-UART-MMC1-MMC2. I user usb4boot (http://pandaboard.org/content/usb-downloader-and-usb-second-stage-bootloader-omap4) to boot uboot into omap4460. When I’m in uboot, I use “mmc_init 1” command to start SD card. But the initialization is fail and I cann’t read or write the SD card use uboot command.

Help me!

Thank you for your help and reply.

Best regards!

 

 

  • Tuan,

    Did you set the pin muxing in the x-loader to match your HW configuration for MMC2?  The pin muxing is done in the board file, probably x-loader/board/omap4430panda/omap4430panda.c.

    Regards,
    Gina 

  • Hi Gina Glaser,

    I reviewed board/omap44XXpanda/omap44XXpanda.c. I think u-boot configure for SDMMC2 path.

    MV(CP(GPMC_AD0), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat0 */ \
    MV(CP(GPMC_AD1), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat1 */ \
    MV(CP(GPMC_AD2), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat2 */ \
    MV(CP(GPMC_AD3), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat3 */ \
    MV(CP(GPMC_AD4), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat4 */ \
    MV(CP(GPMC_AD5), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat5 */ \
    MV(CP(GPMC_AD6), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat6 */ \
    MV(CP(GPMC_AD7), (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat7 */ \

    When I was in uboot, I type "mmcinit 1" command and review the debug console.

    When panda board send  CMD0, CMD8 and CMD55 , the MMCHS_STAT register is 1. Mean the command is completed.

    But then panda board send ACMD41 to leave the IDLE_STATE, the MMCHS_STAT register is 0x18000. Mean no response.

    I review the source code of u-boot (http://omappedia.com/wiki/4AI.1.4_OMAP4_Icecream_Sandwich_Panda_Notes) but I didnt detect any bug.

    Help me!

    Thank you for your help and reply.

    Best regards!

     


  • Tuan,

    Did you check the pin muxing in the x-loader as well?  Even though the pin muxing code exists in the u-boot, typically this function is not called, and only the x-loader pin muxing is used.

    Regards,
    Gina 

  • Hi Gina,

    Thanks for replying!

    I design the SD adapter base on "OMAP4460 Technical Reference Manual": (I used the SD/MMC 2 controller on omap4460) 

    I also set pin muxing in the "x-loader/board/omap44XXpanda/omap44XXpanda.c" following:

    MV(CP(GPMC_AD0) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat0 */ \
    MV(CP(GPMC_AD1) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat1 */ \
    MV(CP(GPMC_AD2) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat2 */ \
    MV(CP(GPMC_AD3) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat3 */ \
    MV(CP(GPMC_AD4) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat4 */ \
    MV(CP(GPMC_AD5) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat5 */ \
    MV(CP(GPMC_AD6) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)) /* sdmmc2_dat6 */ \
    MV(CP(GPMC_AD7) , (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M2)) /* sdmmc2_clk_fdbk */ \

    But, when I was in uboot, I used the "mmcinit 1" command and review the debug console:

    • CMD0 - MMCH_STAT register is 1 (command is completed)
    • CMD8 - MMCH_STAT register is 1 (command is completed)
    • CMD55 - MMCH_STAT register is 1 (command is completed)
    • But,  ACMD41 - MMCHS_STAT register is 0x18000 
    Could you help me, please!

    Thank you for your help and reply.

    Best regards!

  • Hi Tuan,

    I also testing to boot the Pandaboard ES from MMC2 interface via J3 expansion connector.

    I use 2 SD cards, one connected to MMC1 via SD cage on board, and another on an expansion board connected to MMC2 via J3 (just like your schematic at the first post).

    Both 2 cards have been formatted and ready to go. And for testing, I copy some files to FAT partition to both SD cards.

    When the board running into u-boot, I issued "mmcinit 0" and "mmcinit 1" command and I got no error/warning on terminal...

    Then I issued fatls command but only the files on MMC1 listed by "fatls mmc 0", the "fatls mmc 1" do not output anything...?

    I am still working on it but can not find out the cause. Could you please share me how you check on debug console? I meant You added some "printf" command to dump register value in "u-boot/cpu/omap4/mmc.c", didn't you?

    BTW, please teach me any references to check the CMD code?

    Thank you!

    Regars,

    JPhan

  • Hi Tuan and Jack

    Have you solves the problem? I also want to boot from mmc2

    Thanks.

  • hi,tuan duong:

    i add a SD Card on the slot MMC1 of OMAP4460,and an eMMC chip on the slot MMC2(2) ,after i configure the mux of related IO pins,i found it's work well under linux.

    I can see 

    mmcblk0 mmcblk0p2 mmcblk1boot0
    mmcblk0p1 mmcblk1 mmcblk1boot1 in the /dev/ folder,which means the linux kernel have already found the SD card and eMMC card.

    but under u-boot,it still can't work.when i enter 'mmc dev 1',the debug message print as floows:

    CMD_SEND:0
    ARG 0x00000000
    MMC_RSP_NONE
    CMD_SEND:8
    ARG 0x000001AA
    MMC_RSP_R1,5,6,7 0x00000000
    CMD_SEND:55
    ARG 0x00000000
    MMC_RSP_R1,5,6,7 0x00000000
    CMD_SEND:0
    ARG 0x00000000
    MMC_RSP_NONE
    CMD_SEND:1
    ARG 0x00000000
    MMC_RSP_R3,4 0x00000000

    i am not familar with MMC standard,could please tell me what happened when emmc initializing?

    any suggestion will be appreciated,thank you !

  • Hi Jack

    Have you solves the problem? I also want to boot from mmc2.Can you give me a detailed steps.

    Thanks