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.

BEAGLEBK: Beaglebone Black hangs while booting with u-boot from "ti-processor-linux-sdk"

Part Number: BEAGLEBK

Hello,

Board : Beaglebone Black

Linux SDK version :  ti-processor-sdk-linux-am335x-evm-06.03.00.106

u-boot SPL version : U-Boot SPL 2019.01-gc148924-dirty

u-boot version : U-Boot 2019.01-gc148924-dirty

With the u-boot images from ti-processor-linux-sdk on Beaglebone Black ,

I frequently encounter the "###ERROR###Please RESET the board### " (console output is below) message.

The RESET button should be manually pressed couple of times to boot the board normally.

How do I overcome this scenario ?? Kindly advice.

Regards,

Adarsh

-------------------------------------------------------------------------

U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)             
Trying to boot from MMC1                                                     
spl: mmc init failed with error: -524                                        
SPL: failed to boot from all boot devices                                    
### ERROR ### Please RESET the board ###                                     
                                                                             
U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)             
Trying to boot from MMC1                                                     
spl: mmc init failed with error: -524                                        
SPL: failed to boot from all boot devices                                    
### ERROR ### Please RESET the board ###                                     
                                                                             
U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)             
Trying to boot from MMC1                                                     
spl: mmc init failed with error: -524                                        
SPL: failed to boot from all boot devices                                    
### ERROR ### Please RESET the board ###                                     
                                                                             
U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)             
Trying to boot from MMC1                                                     
                                                                             
                                                                             
U-Boot 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)                 
                                                                             
CPU  : AM335X-GP rev 2.1                                                     
Model: TI AM335x BeagleBone Black                                            
DRAM:  512 MiB                                                               
NAND:  0 MiB                                                                 
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1                                        
Loading Environment from FAT... <ethaddr> not set. Validating first E-fuse MC
Net:   eth0: ethernet@4a100000                                               
Warning: usb_ether MAC addresses don't match:                                
Address in ROM is          de:ad:be:ef:00:01                                 
Address in environment is  04:79:b7:ad:02:20                                 
, eth1: usb_ether                                                            
Hit any key to stop autoboot:  0                                             
=>
----------------------------------------------------

  • Hi Adarsh,
    Have you tested few different SD cards and observed the same result?
    Bdst,
    -Hong

  • Hi Hong,

    I tried with other SD cards also. Please find the details below:

    + sd card capacity : 2 GB

        make : Not clear on the card (an old one bought around 8 years ago)

       The u-boot got executed to boot the board after pressing RESET button couple of times.

    + sd card capacity : 4 GB

       make: Transcend (micro SD HC, Class 4)

       The u-boot got executed to boot the board after pressing RESET button couple of times.

    + sd card capacity : 16 GB

    make: SanDisk (micro SD HC I ,class 4)

    The u-boot could not get executed after a certain point and boot the board ( inspite of repeated pressing of RESET button)

    -------------------

    Console Log:

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    -------------------------------------------------------------------------------

    + sd card capacity : 32GB

    make: SanDisk (micro SD HC I ,class 4)

    The u-boot could not get executed after a certain point and boot the board ( inspite of repeated pressing of RESET button)

    -------------------

    Console Log:

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Oct 08 2020 - 06:47:09 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    -------------------------------------------------------------------------------

  • Hi Adarsh,

    Adarsh Babu Kalepalli said:
    spl: mmc init failed with error: -524

    It is triggered from spl_mmc_load() in "/common/spl/spl_mmc.c" calling mmc_init() in "/drivers/mmc/mmc.c"
    spl_mmc_load(){
    ...
    err = mmc_init(mmc);
    if (err) {
    mmc = NULL;
    #ifdef CONFIG_SPL_LIBCOMMON_SUPPORT
    printf("spl: mmc init failed with error: %d\n", err);
    #endif
    return err;
    }
    ...
    }
    Can we add some debug print as listed below in "/drivers/mmc/mmc.c"

    #define DEBUG
    #undef CONFIG_LOGLEVEL
    #define CONFIG_LOGLEVEL 8

    Best,

    -Hong

  • Hello Hong,

    As suggested, included the below debug print in "drivers/mmc/mmc.c" .

    1
    2
    3
    #define DEBUG
    #undef CONFIG_LOGLEVEL
    #define CONFIG_LOGLEVEL 8

    Below is the Serial Console log.

    ---------------------------------------------------------------------------------------

    U-Boot SPL 2019.01-gc148924-dirty (Dec 03 2020 - 17:46:38 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    unable to select a mode
    mmc_init: -524, time 1071
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Dec 03 2020 - 17:46:38 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    unable to select a mode
    mmc_init: -524, time 1071
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###

    U-Boot SPL 2019.01-gc148924-dirty (Dec 03 2020 - 17:46:38 +0530)
    Trying to boot from MMC1
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    unable to select a mode
    mmc_init: -524, time 1071
    spl: mmc init failed with error: -524
    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    --------------------------------------------------------------------------------------

    Regards,

    Adarsh

  • Hi Adarsh,

    Adarsh Babu Kalepalli said:
    omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear
    unable to select a mode
    mmc_init: -524, time 1071
    spl: mmc init failed with error: -524

    The error msg "unable to select a mode" is triggered in sd_select_mode_and_width().
    I'm attaching a working call flow for your reference.

    Can we run the same test on another board if you have one?

    Best,
    -Hong

  • adding a call flow captured from a working case.

    am3_6.3_mmc_select_mode.txt
    B::area_log1
    
    
    
    
    
    
    
    
    
    
    
    
    ===================================================
    3. Dec 2020
    17:40:08
    ===================================================
    B::Register
    N N  R0          0  R8          4  ^S+ ^Stack_+
    Z _  R1   80000000  R9   81FFFF20
    C _  R2          0  R10  00FFFFF1
    V _  R3   40306040  R11  81FFFED8
    Q _  R4   4030F090  R12         0
         R5          0  R13  81FFFCE0
    0 _  R6   30000005  R14  402F107D
    1 _  R7   81FFFD28  PC   402F935E
    2 _  SPSR        0  CPSR 800001B3
    3 _
    4 _  USR:           FIQ:
         R8          4  R8          0
         R9   81FFFF20  R9          0
    I I  R10  00FFFFF1  R10  20000000
    F _  R11  81FFFED8  R11  00010000
         R12         0  R12         0
    T T  R13         0  R13         0
    J _  R14         0  R14         0
    svc                 SPSR        0
    nsec
         SVC:           IRQ:
    A A  R13  81FFFCE0  R13  00A00500
    E _  R14  402F107D  R14  04100003
         SPSR        0  SPSR        0
    0 _
    1 _  UND:           ABT:
    2 _  R13  EC0EA4D4  R13         0
    3 _  R14  04CA8181  R14         0
         SPSR        0  SPSR        0
    
         MON:
         R13
         R14
         SPSR
    B::Var.Frame_/Locals_/Caller
    -000|sd_select_mode_and_width(inline)
    -000|mmc_startup(
        |    mmc = 0x4030F090)
        |  i = 0x4
        |  cmd = (cmdidx = 0x7, resp_type = 0x15, cmdarg = 0xAAAA0000, response = (0x0700, 0x5B590000, 0x3B377F80, 0x0A4040AF))
        |  card_caps = 0x30000005
        |  mmc = 0x4030F090
        |
    -001|mmc_complete_init(inline)
    -001|mmc_init(
        |    mmc = 0x4030F090)
        |  start = 0xE6
        |  __func__ = (0x6D, 0x6D, 0x63, 0x5F, 0x69, 0x6E, 0x69, 0x74, 0x0)
        |  mmc = 0x4030F090
        |  err = 0x0
        |
        |        else
    -002|spl_mmc_load(
        |    spl_image = 0x81FFFEF4,
        |    bootdev = 0x81FFFED8,
        |    filename = 0x40306D29,
        |  ?,
        |    raw_sect = 0x0300,
        |    buffer = 0x0)
        |  mmc = 0x4030F090
        |  err = 0x0
        |
        |#else
        |        *mmcp = find_mmc_device(mmc_dev);
        |        err = *mmcp ? 0 : -ENODEV;
        |#endif
        |        if (err) {
        |                if (err)
        |                        return err;
        |
        |                err = mmc_init(mmc);
    -003|spl_mmc_load_image(
        |  ?,
        |  ?)
        |
        |#endif
        |        }
        |
        |        return err;
        |}
        |
        |int spl_mmc_load_image(struct spl_image_info *spl_image,
        |                       struct spl_boot_device *bootdev)
        |{
        |        return spl_mmc_load(spl_image, bootdev,
    -004|boot_from_devices(inline)
    -004|board_init_r(
        |  ?,
        |  ?)
        |  spl_boot_list = (0x8, 0x0, 0x0, 0x0, 0x0)
        |mmspl_image = (name = 0x0, os = 0x0, load_addr = 0x0, entry_point = 0x0, fdt_addr = 0x0, boot_device = 0x0, size = 0x0, flags = 0x0, arg = 0x88000000)
        |mmi = 0x0
        |  loader = 0x4030B034
        |
        |/**
    -005|board_init_r(
        |  erdummy1 = 0x0,
        |    dummy2 = 0x80000000)
        |  spl_boot_list = (0x8, 0x0, 0x0, 0x0, 0x0)
        |spspl_image = (name = 0x0, os = 0x0, load_addr = 0x0, entry_point = 0x0, fdt_addr = 0x0, boot_device = 0x0, size = 0x0, flags = 0x0, arg = 0x88000000)
        |
        |}
        |#endif
        |
     ---|end of frame
    

  • Hello Hong,

    It is little difficult to get one.

    Let me still try. Once I  verify on another board, I will respond back.

    Regards,

    Adarsh

  • Hi Adarsh,
    Yes, running test on another board would help understand if intermittent behavior is correlated with board.
    Best,
    -Hong

  • Customer posted a follow up response on a new thread: https://e2e.ti.com/support/processors/f/processors-forum/981870/beaglebone-black-hangs-while-booting-with-u-boot-from-ti-processor-linux-sdk

    Recording it here and closing.

    Hi Hong,

    This response is continuation to the post "BEAGLEBK: Beaglebone Black hangs while booting with u-boot from "ti-processor-linux-sdk" from me.

    I was able to boot other beaglebone black with sdhc cards of various sizes (2GB,4GB,16GB and 32GB). In all cases ,the new board was booting fine