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.

DRA821U-Q1: DRA821 initial eMMC boot failure

Part Number: DRA821U-Q1


Tool/software:

Dear supporter,

There is an eMMC boot failure. Upon checking, 27 samples were inspected, and during repeated reboot tests, 9 of them showed the following ERROR message and stopped booting

It doesn't always fail to boot, but it occurs when repeating reboots

The ERROR messages differ for each sample

[    0.026000] U-Boot SPL 2023.04 (Aug 26 2024 - 10:02:31 +0900)
Trying to boot from MMC1
mmc_load_image_raw_sector: mmc block read error
** Partition 1 not valid on device 0 **
spl_register_fat_device: fat register err - -1
spl_load_image_fat: error reading image tispl.bin, err - -1
spl: no partition table found
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###

[    0.026000] U-Boot SPL 2023.04 (Aug 26 2024 - 10:02:31 +0900)
Trying to boot from MMC1
[    0.287000] Starting ATF on ARM64 core...

NOTICE:  BL31: v2.9(release):803903ea3-dirty
NOTICE:  BL31: Built : 07:33:39, Dec 21 2023
I/TC: 
I/TC: OP-TEE version: 4.0.0 (gcc version 11.4.0 (GCC)) #1 Fri Oct 20 18:29:31 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
I/TC: SYSFW ABI: 3.1 (firmware rev 0x0009 '9.1.2--v09.01.02 (Kool Koala)')
I/TC: HUK Initialized
I/TC: Activated SA2UL device
I/TC: Fixing SA2UL firewall owner for GP device
I/TC: Enabled firewalls for SA2UL TRNG device
I/TC: SA2UL TRNG initialized
I/TC: SA2UL Drivers initialized
I/TC: Primary CPU switching to normal world boot
Trying to boot from MMC1


[  117.851000] U-Boot 2023.04 (Aug 26 2024 - 10:02:06 +0900)

[  117.854000] SoC:   J7200 SR2.0 GP
[  117.856000] DRAM:  4 GiB
[  117.889000] tgu: wifipower enable   
[  117.892000] MCU reset 
[  117.894000] PHY reset 
[  118.895000] CELL reset 
[  119.397000] SPI reset 
Core:  87 devices, 31 uclasses, devicetree: separate
Flash: 0 Bytes
[  119.902000] MMC:   mmc@4f80000: 0, mmc@4fb0000: 1
[env_relocate] env load 
Loading Environment from MMC... "Synchronous Abort" handler, esr 0x96000004
elr: 000000008082cd8c lr : 000000008082d320 (reloc)
elr: 00000000ffef9d8c lr : 00000000ffefa320
x0 : 20000000fffc26d8 x1 : 0000000000000008
x2 : 00000000fffc26e8 x3 : 00000000fffc26d8
x4 : 00000000fffc55f8 x5 : 0000000000001000
x6 : 0000000080000000 x7 : 0000000000000001
x8 : 0000000000000004 x9 : 0000000000000008
x10: 0000000000000002 x11: 0000000000000010
x12: 00000000ffffffff x13: 000000000000fffc
x14: 00000000fde9d590 x15: 0000000000000021
x16: 00000000fff181d8 x17: 0000000000000000
x18: 00000000fdeacdb0 x19: 0000000000000040
x20: 00000000fffc2658 x21: 0000000000000001
x22: 0000000000000001 x23: 00000000fdeb92e8
x24: 00000000fce87040 x25: 00000000fde5d308
x26: 0000000000000000 x27: 00000000fce99040
x28: 0000000000000000 x29: 00000000fde5d080

Code: f9400c40 11000821 eb00005f 54000440 (a9408c01) 
Resetting CPU ...

resetting ...
[    0.026000] U-Boot SPL 2023.04 (Aug 26 2024 - 10:01:44 +0900)
Trying to boot from MMC1
[    0.287000] Starting ATF on ARM64 core...

[    0.026000] U-Boot SPL 2023.04 (Sep 12 2024 - 10:17:06 +0900)
Trying to boot from MMC1
[    0.288000] Starting ATF on ARM64 core...

NOTICE:  BL31: v2.9(release):803903ea3-dirty
NOTICE:  BL31: Built : 07:33:39, Dec 21 2023
E/TC:0   assertion '!core_mmu_user_va_range_is_defined()' failed at core/mm/core_mmu.c:1259 <assign_mem_va>
E/TC:0   Panic at core/kernel/assert.c:28 <_assert_break>
E/TC:0   TEE load address @ 0x9e800000
E/TC:0   Call stack:
E/TC:0    0x9e808164
E/TC:0    0x9e81ed68
E/TC:0    0x9e81ca54
E/TC:0    0x9e827994
E/TC:0    0x9e828388
E/TC:0    0x9e8288c0
[    0.026000] U-Boot SPL 2023.04 (Aug 26 2024 - 10:02:31 +0900)
Trying to boot from MMC1
spl: mmc init failed with error: -22
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
[    0.026000] U-Boot SPL 2023.04 (Aug 26 2024 - 10:02:31 +0900)
Trying to boot from MMC1
[    0.286000] Starting ATF on ARM64 core...
[    0.026000] U-Boot SPL 2023.04 (Aug 26 2024 - 10:02:31 +0900)
Trying to boot from MMC1
[    0.287000] Starting ATF on ARM64 core...
 
NOTICE:  BL31: v2.9(release):803903ea3-dirty
NOTICE:  BL31: Built : 07:33:39, Dec 21 2023
I/TC:
I/TC: OP-TEE version: 4.0.0 (gcc version 11.4.0 (GCC)) #1 Fri Oct 20 18:29:31 UTC 2023 aarch64
I/TC: WARNING: This OP-TEE configuration might be insecure!
I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
I/TC: Primary CPU initializing
E/TC:0 0
E/TC:0 0 Core data-abort at address 0x0 (translation fault)
E/TC:0 0  esr 0x96000005  ttbr0 0x9e8a0000   ttbr1 0x00000000   cidr 0x0
E/TC:0 0  cpu #0          cpsr 0x400003c4
E/TC:0 0  x0  0000000000000003 x1  000000009e874000
E/TC:0 0  x2  0000000000000000 x3  0000000000000000
E/TC:0 0  x4  000000000000000c x5  00000000ffffffff
E/TC:0 0  x6  00000000ffffffff x7  0000000000000001
E/TC:0 0  x8  0000000000000012 x9  000000009e8a8120
E/TC:0 0  x10 0000000000000000 x11 0000000000000000
E/TC:0 0  x12 0000000000000000 x13 000000009e869a86
E/TC:0 0  x14 0000000000000000 x15 0000000000000000
E/TC:0 0  x16 000000009e81c864 x17 0000000000000000
E/TC:0 0  x18 0000000000000000 x19 000000009e874000
E/TC:0 0  x20 000000009ea00000 x21 0000000001200000
E/TC:0 0  x22 0000000099a00000 x23 0000000000000000
E/TC:0 0  x24 0000000000000000 x25 0000000000000000
E/TC:0 0  x26 0000000000000000 x27 0000000000000000
E/TC:0 0  x28 0000000000000000 x29 000000009e8a8360
E/TC:0 0  x30 000000009e829e2c elr 000000009e828b0c
E/TC:0 0  sp_el0 000000009e8a8340
E/TC:0 0 TEE load address @ 0x9e800000
E/TC:0 0 Call stack:
E/TC:0 0  0x9e828b0c
E/TC:0 0  0x9e829e28
E/TC:0 0  0x9e807de0
E/TC:0 0  0x9e807f50
E/TC:0 0 Panic 'unhandled pageable abort' at core/arch/arm/kernel/abort.c:584 <abort_handler>
E/TC:0 0 TEE load address @ 0x9e800000
E/TC:0 0 Call stack:
E/TC:0 0  0x9e808164
E/TC:0 0  0x9e81ed68
E/TC:0 0  0x9e807920
E/TC:0 0  0x9e804a98

Feel free to contact me anytime if you need additional information

  • Hi,

    Could you provide more info on the following:

    1:Which partition of the EMMC did you copy the boot files into?

    2:If into Boot 0 / Boot1 partition ,what are the offsets that you used while copying each of the boot files.

    3:What all boot files did you copy?

    3:Which LINUX SDK version did you use.

    4:What is the boot switch setting you used while booting from emmc.

    5:What are the partconf and bootbus width params set at u-boot before trying to boot from emmc.

    6: Are you using a TI EVM board or custom board?

  • Hi, 

    1. We use SDK version : 9.01.007 and custom board

    2. partconf and bootbus width is refer below. 

        mmc partconf 0 1 1 1

        mmc bootbus 0 2 0 0

    3. boot mode 

    4. partition and offset 

       1) partition

       2) offset 

           We use the command below for download. 

    setenv tftp_boot 'mmc dev 0 1 ;if tftp ${loadaddr} tiboot3_${tgu_rev}.bin ;then mmc erase 0x0 0x1000 ;mmc write ${loadaddr} 0x0 0x1000 ;else echo tftp download error: tiboot3_${tgu_rev}.bin ;echo ;exit ;fi ;if tftp ${loadaddr} tispl_${tgu_rev}.bin ;then mmc erase 0x1000 0x2000 ;mmc write ${loadaddr} 0x1000 0x2000 ;else echo tftp download error: tispl_${tgu_rev}.bin ;echo ;exit ;fi ;if tftp ${loadaddr} u-boot_${tgu_rev}.img ;then mmc erase 0x3000 0x2000 ;mmc write ${loadaddr} 0x3000 0x2000 ;else echo tftp download error: u-boot_${tgu_rev}.img ;echo ;exit ;fi ;'

  • https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/config_5F00_changes.patch

    Hi Kim,

    Actually,the BOOT ROM code only supports tiboot3.bin upto a max size of 512 KB.So,firstly you will have to reduce the size of tiboot3.bin.

    After doing the above step,apply the above patch to the r5 and a72 def config files  and rebuild tiboot3.bin,tispl.bin and u-boot.img

    Also,after that please use the below command to download those files:

    setenv tftp_boot 'mmc dev 0 1 ;if tftp ${loadaddr} tiboot3_${tgu_rev}.bin ;then mmc erase 0x0 0x6800 ;mmc write ${loadaddr} 0x0 0x1800 ;else echo tftp download error: tiboot3_${tgu_rev}.bin ;echo ;exit ;fi ;if tftp ${loadaddr} tispl_${tgu_rev}.bin ;then mmc write ${loadaddr} 0x1800 0x2800 ;else echo tftp download error: tispl_${tgu_rev}.bin ;echo ;exit ;fi ;if tftp ${loadaddr} u-boot_${tgu_rev}.img ;then mmc write ${loadaddr} 0x4000 0x2800 ;else echo tftp download error: u-boot_${tgu_rev}.img ;echo ;exit ;fi ;'

    NOTE : Make sure , you download the updated bootfiles while executing the above command.