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.

AM6548: eMMC reboot hangs

Part Number: AM6548

Working on EVM:

#1. Boot from eMMC, execute reset from U-boot, or restart from Linux, hangs as below snapshot:

#2. boot from MMC, it is OK.

#3. Push reset button to reboot is OK.

  • Hi,
    You query has been assigned to a TI engineer. Please note that response may be delayed due to Christmas and New Year holidays.
  • Tony,

    from the screenshots I can see that you are using an older SDK, and I know there have been issues with software-initiated device resets on AM654x on earlier builds of the SDK that have since gotten resolved. Can you please re-try using the latest processor SDK and see if this fixes your issues:

    http://software-dl.ti.com/processor-sdk-linux/esd/AM65X/latest/index_FDS.html

    Regards, Andreas

  • Andreas,

    It is same with latest Processor SDK with booting from eMMC

  • Hi Tony,

    Tony Tang said:
    It is same with latest Processor SDK with booting from eMMC

    Can you post a log from this attempt with the latest SDK.

    Also what hardware revision is your EVM?

    E3? E4?

    (should be marked on the base board, also also get printed to the U-Boot console when using the latest SDK).

    Regards, Andreas

  • E3 EVM. reset from UBOOT log as below:

    It is same on customer's board, and it is same when using watchdog reset(enable watchdog in Linux, doesn't feed watchdog to reset the device) 

  • Hi Tony,

    I can re-create this issue on our Rev E3 EVM with the current SDK performing eMMC raw boot. I can also re-create it with the latest-latest ti-u-boot-2019.01 development branch. Going through my archives it seems like that U-Boot leaves the eMMC in a state that prevents ROM code from booting. Will follow-up internally to see if this is something we can fix easily in (U-Boot) software.

    One workaround however I just found and successfully tested is booting from eMMC UDA. Basically, treat the eMMC UDA area just like an SD card, have a FAT32 boot partition there, and a partition for Linux, etc. In this case you can reboot without any issue as in this case the ROM has less dependencies on the state the eMMC was left in it seems.

    => reset                                                                                                                               
    resetting ...                                                                                                                          
    U-Boot SPL 2019.01-g350f3927b8 (Jan 04 2020 - 17:16:58 +0000)                                                                          
    SYSFW ABI: 2.8 (firmware rev 0x0013 '19.10.1-v2019.10a (Terrific Lla')                                                                 
    Trying to boot from MMC1
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.2(release):ti2019.04-447-ge516a38
    NOTICE:  BL31: Built : 17:05:40, Jan  4 2020
    I/TC:
    I/TC: OP-TEE version: ti2019.04-190-g5208e5c-dev (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 Sat Jan  4 17:07:58 UTC 2020 aarch64
    I/TC: Initialized
    
    U-Boot SPL 2019.01-g350f3927b8 (Jan 04 2020 - 17:19:14 +0000)
    Detected: AM6-IDKAPPEVM rev E3
    Detected: SER-PCIE2LEVM rev E3
    Trying to boot from MMC1
    
    
    U-Boot 2019.01-g350f3927b8 (Jan 04 2020 - 17:19:14 +0000)
    
    SoC:   AM654 PG 1.0
    Model: Texas Instruments AM654 Base Board
    Board: AM6-COMPROCEVM rev E3
    DRAM:  4 GiB
    MMC:   sdhci@04FA0000 - probe failed: -123
    sdhci@4f80000: 0
    Loading Environment from MMC... *** Warning - bad CRC, using default environment
    
    In:    serial
    Out:   serial
    Err:   serial
    Detected: AM6-IDKAPPEVM rev E3
    Detected: SER-PCIE2LEVM rev E3
    Net:   eth3: pruss1_eth, eth2: pruss0_eth
    Warning: cpsw_nuss@046000000 using MAC address from ROM
    , eth0: cpsw_nuss@046000000, eth1: pruss2_eth
    Hit any key to stop autoboot:  0
    =>  reset
    resetting ...
    U-Boot SPL 2019.01-g350f3927b8 (Jan 04 2020 - 17:16:58 +0000)
    SYSFW ABI: 2.8 (firmware rev 0x0013 '19.10.1-v2019.10a (Terrific Lla')
    Trying to boot from MMC1
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.2(release):ti2019.04-447-ge516a38
    NOTICE:  BL31: Built : 17:05:40, Jan  4 2020
    I/TC:
    I/TC: OP-TEE version: ti2019.04-190-g5208e5c-dev (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #1 Sat Jan  4 17:07:58 UTC 2020 aarch64
    I/TC: Initialized
    
    U-Boot SPL 2019.01-g350f3927b8 (Jan 04 2020 - 17:19:14 +0000)
    Detected: AM6-IDKAPPEVM rev E3
    Detected: SER-PCIE2LEVM rev E3
    Trying to boot from MMC1
    
    
    U-Boot 2019.01-g350f3927b8 (Jan 04 2020 - 17:19:14 +0000)
    
    SoC:   AM654 PG 1.0
    Model: Texas Instruments AM654 Base Board
    Board: AM6-COMPROCEVM rev E3
    DRAM:  4 GiB
    MMC:   sdhci@04FA0000 - probe failed: -123
    sdhci@4f80000: 0
    Loading Environment from MMC... *** Warning - bad CRC, using default environment
    
    In:    serial
    Out:   serial
    Err:   serial
    Detected: AM6-IDKAPPEVM rev E3
    Detected: SER-PCIE2LEVM rev E3
    Net:   eth3: pruss1_eth, eth2: pruss0_eth
    Warning: cpsw_nuss@046000000 using MAC address from ROM
    , eth0: cpsw_nuss@046000000, eth1: pruss2_eth
    Hit any key to stop autoboot:  0
    =>

    Regards, Andreas

  • Hi Tony,

    Tony Tang said:
    How to write to UDA partition,

    I made a previous post that shows example steps together with some explanation, please see here:

    https://e2e.ti.com/support/processors/f/791/p/855749/3166126#3166126

    Obviously the flow/usage is a bit different in terms of how the image should get build and deployed (and updated later) compared to eMMC raw boot, however since UDA-based boot is essentially just like using an SD card it probably means things will get simpler.

    Regards, Andreas