- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Community,
After successful DDR training for our custom board, I am now facing with new problem :
U-Boot SPL 2021.04-lf_v2021.04+gd1528947bd (Sep 06 2021 - 08:48:23 +0000)
pca9450_bind: 'pca9450@25' - found regulators subnode
pmic_bind_children for 'pca9450@25' at node offset: 5064
Bound: 0 children for PMIC: 'pca9450@25'
pca9450_bind: pca9450@25 - no child found
pmic_reg_write: reg=c, value=29 priv->trans_len:1, ret=0
pmic_reg_write: reg=10, value=59 priv->trans_len:1, ret=0
pmic_reg_write: reg=1e, value=18 priv->trans_len:1, ret=0
pmic_reg_write: reg=8, value=a1 priv->trans_len:1, ret=0
DDRINFO: start DRAM init
DDRINFO: cfg clk
DDRINFO: DRAM rate 3200MTS
DDRINFO: ddrc config start
DDRINFO: ddrc config done
DDRINFO:ddrphy config start
DRAM PHY training for 3200MTS
check ddr_pmu_train_imem code
check ddr_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr_pmu_train_dmem code pass
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000002]
[PMU Major message = 0x00000001]
[PMU Major message = 0x0000000a]
[PMU Major message = 0x000000fd]
[PMU Major message = 0x000000fe]
[PMU Major message = 0x00000004]
[PMU Major message = 0x00000003]
[PMU Major message = 0x00000009]
[PMU Major message = 0x00000007]
Training PASS
DRAM PHY training for 3200MTS
check ddr_pmu_train_imem code
check ddr_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr_pmu_train_dmem code pass
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000006]
[PMU Major message = 0x00000005]
[PMU Major message = 0x00000007]
Training PASS
DDRINFO: ddrphy config done
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0: RNG instantiated
Normal Boot
WDT: Not found!
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
Can't support legacy image
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
Compared to a running image on EVK, it looks like that BL31 image is not found :
U-Boot SPL 2021.04-lf_v2021.04+g1c0116f3da (Sep 06 2021 - 08:48:23 +0000)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 4000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0: RNG instantiated
Normal Boot
WDT: Not found!
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
NOTICE: BL31: v2.4(release):lf-5.10.52-2.1.0-rc1-39-gbb4957067
NOTICE: BL31: Built : 04:45:39, Sep 8 2021
U-Boot 2021.04-lf_v2021.04+g1c0116f3da (Sep 06 2021 - 08:48:23 +0000)
CPU: i.MX8MP[8] rev1.0 1800 MHz (running at 1200 MHz)
CPU: Commercial temperature grade (0C to 95C) at 30C
Reset cause: POR
Model: NXP i.MX8MPlus LPDDR4 EVK board
DRAM: 6 GiB
Knowing that there's no eMMC but only micro SD card available in our custom design, similar to the 8MPLUSDR4-CPU design.
Could you help to guide us to go further, please ?
Thanks in advance and best regards,
Khang
Solved! Go to Solution.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear @khang_letruong ,
I and joan we are on the Spring holidays leave, so sorry about it. Here if your question is urgent recommend you to go to create one case https://www.nxp.com/ go to Support Tickets https://support.nxp.com/s/?language=en_US, there are global engineer support here.
Wish you have a nice day
Best Regards
Rita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi again,
To update, I modified the BSP of imx8mp-ddr4-evk (especially the DDR4 capacity and timing) and ran the bitbaked firmware on our custom board but still have the same problem :
U-Boot SPL 2021.04-lf_v2021.04+g1c0116f3da (Sep 06 2021 - 08:48:23 +0000)
spl_early_init
pca9450_bind: 'pca9450@25' - found regulators subnode
pmic_bind_children for 'pca9450@25' at node offset: 5040
Bound: 0 children for PMIC: 'pca9450@25'
pca9450_bind: pca9450@25 - no child found
pmic_reg_write: reg=c, value=29 priv->trans_len:1, ret=0
pmic_reg_write: reg=10, value=59 priv->trans_len:1, ret=0
pmic_reg_write: reg=1e, value=18 priv->trans_len:1, ret=0
pmic_reg_write: reg=8, value=a1 priv->trans_len:1, ret=0
DDRINFO: start DRAM init
DDRINFO: cfg clk
DDRINFO: DRAM rate 3200MTS
DDRINFO: ddrc config start
DDRINFO: ddrc config done
DDRINFO:ddrphy config start
DRAM PHY training for 3200MTS
check ddr_pmu_train_imem code
check ddr_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr_pmu_train_dmem code pass
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000002]
[PMU Major message = 0x00000001]
[PMU Major message = 0x0000000a]
[PMU Major message = 0x000000fd]
[PMU Major message = 0x000000fe]
[PMU Major message = 0x00000004]
[PMU Major message = 0x00000003]
[PMU Major message = 0x00000009]
[PMU Major message = 0x00000007]
Training PASS
DRAM PHY training for 3200MTS
check ddr_pmu_train_imem code
check ddr_pmu_train_imem code pass
check ddr4_pmu_train_dmem code
check ddr_pmu_train_dmem code pass
[PMU Major message = 0x00000000]
[PMU Major message = 0x00000006]
[PMU Major message = 0x00000005]
[PMU Major message = 0x00000007]
Training PASS
DDRINFO: ddrphy config done
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
>>SPL: board_init_r()
spl_init
SEC0: RNG instantiated
Normal Boot
WDT: Not found!
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
Can't support legacy image
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
I can share the schematic design and the patches of u-Boot (for DDR4 adaptation from imx8mp-ddr4-evk to our custom board) in private if necessary.
Thanks in advance,
Khang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi again,
As per suggestion of @weidong_sun for similar issue, I tried to flash the u-boot in serial downloader mode using uuu :
$ lsusb
Bus 003 Device 008: ID 1fc9:0146 NXP Semiconductors SE Blank 865
But failed :
$ sudo uuu -v -b sd ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.138-0-g051a8fe
Build in config:
Pctl Chip Vid Pid BcdVersion
==================================================
SDPS: MX8QXP 0x1fc9 0x012f [0x0002..0xffff]
SDPS: MX8QM 0x1fc9 0x0129 [0x0002..0xffff]
SDPS: MX8DXL 0x1fc9 0x0147
SDPS: MX28 0x15a2 0x004f
SDPS: MX815 0x1fc9 0x013e
SDPS: MX865 0x1fc9 0x0146
SDPS: MX8ULP 0x1fc9 0x014a
SDPS: MX8ULP 0x1fc9 0x014b
SDP: MX7D 0x15a2 0x0076
SDP: MX6Q 0x15a2 0x0054
SDP: MX6D 0x15a2 0x0061
SDP: MX6SL 0x15a2 0x0063
SDP: MX6SX 0x15a2 0x0071
SDP: MX6UL 0x15a2 0x007d
SDP: MX6ULL 0x15a2 0x0080
SDP: MX6SLL 0x1fc9 0x0128
SDP: MX7ULP 0x1fc9 0x0126
SDP: MXRT106X 0x1fc9 0x0135
SDP: MX8MM 0x1fc9 0x0134
SDP: MX8MQ 0x1fc9 0x012b
SDPU: SPL 0x0525 0xb4a4 [0x0000..0x04ff]
SDPV: SPL1 0x0525 0xb4a4 [0x0500..0x9998]
SDPU: SPL 0x0525 0xb4a4 [0x9999..0x9999]
SDPU: SPL 0x3016 0x1001 [0x0000..0x04ff]
SDPV: SPL1 0x3016 0x1001 [0x0500..0x9998]
FBK: 0x066f 0x9afe
FBK: 0x066f 0x9bff
FB: 0x0525 0xa4a5
FB: 0x18d1 0x0d02
FB: 0x3016 0x0001
Run built-in script:
uuu_version 1.2.39
# @./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk | bootloader
# @./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk [./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk] | image burn to emmc, default is the same as bootloader
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
# These commands will be run when use SPL and will be skipped if no spl
# SDPU will be deprecated. please use SDPV instead of SDPU
# {
SDPU: delay 1000
SDPU: write -f ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk -offset 0x57c00
SDPU: jump
# }
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
# {
SDPV: delay 1000
SDPV: write -f ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk -skipspl
SDPV: jump
# }
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${sd_dev}
FB: ucmd mmc dev ${sd_dev}
FB: flash bootloader ./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
FB: Done
Wait for Known USB Device Appear...
Error: fail open file: >./imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
Meanwhile the imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk was there in the working directory :
$ ls -l
total 4329820
-rw-r--r-- 1 developer developer 3697328 Jan 15 21:26 imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk
-rw-r--r-- 1 developer developer 3718427648 Jan 15 21:32 imx-image-multimedia-imx8mp-ddr4-evk-20230116022605.rootfs.wic
Could you share your idea ? Could there be something abnormal in the imx-boot-imx8mp-ddr4-evk-sd.bin-flash_ddr4_evk make itself impossible to be read by uuu?
Could the problem come from the micro SD card? Personally I don't think so as the training was done with the first stage of u-Boot from that medium anyway.
Best Regards,
Khang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
[Update]
The error "Can't support legacy image" led to following code in arch/arm/mach-imx/spl_imx_romapi.c:
static int spl_romapi_load_image_seekable(struct spl_image_info *spl_image,
struct spl_boot_device *bootdev,
u32 rom_bt_dev)
{
...
if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
image_get_magic(header) == FDT_MAGIC) {
struct spl_load_info load;
memset(&load, 0, sizeof(load));
load.bl_len = pagesize;
load.read = spl_romapi_read_seekable;
load.priv = &pagesize;
return spl_load_simple_fit(spl_image, &load,
offset / pagesize, header);
} else if (IS_ENABLED(CONFIG_SPL_LOAD_IMX_CONTAINER)) {
struct spl_load_info load;
memset(&load, 0, sizeof(load));
load.bl_len = pagesize;
load.read = spl_romapi_read_seekable;
load.priv = &pagesize;
ret = spl_load_imx_container(spl_image, &load, offset / pagesize);
} else {
/* TODO */
puts("Can't support legacy image\n");
return -1;
}
...
}
Looks like FDT_MAGIC is not found for some reason as CONFIG_SPL_LOAD_FIT=y but not CONFIG_SPL_LOAD_IMX_CONTAINER in relevant defconfig :
$ ag CONFIG_SPL_LOAD_FIT | grep imx8mp
board/freescale/imx8mp_evk/spl.c:144:#ifdef CONFIG_SPL_LOAD_FIT
configs/imx8mp_evk_android_trusty_dual_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/phycore-imx8mp_defconfig:22:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_trusty_powersave_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_inline_ecc_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_trusty_secure_unlock_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_trusty_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_powersave_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_defconfig:29:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_ddr4_evk_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_ddr4_evk_nand_defconfig:29:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_ddr4_evk_inline_ecc_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_ndm_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_dual_defconfig:30:CONFIG_SPL_LOAD_FIT=y
configs/imx8mp_evk_android_uuu_defconfig:30:CONFIG_SPL_LOAD_FIT=y
Regards,
K
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi again,
I printed out the result of image_get_magic(header) but it is NOT 0xd00dfeed (FDT_MAGIC), it is 0xe6666262 :
Training PASS
DDRINFO: ddrphy config done
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
>>SPL: board_init_r()
spl_init
SEC0: RNG instantiated
Normal Boot
WDT: Not found!
Trying to boot from BOOTROM
image offset 0x8000, pagesize 0x200, ivt offset 0x0
ROMAPI: Header magic found 0xe6666262
Can't support legacy image
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
Could you please help @Rita_Wang, @joanxie ? I am really stuck
Thanks in advance,
K.


- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear @khang_letruong ,
I and joan we are on the Spring holidays leave, so sorry about it. Here if your question is urgent recommend you to go to create one case https://www.nxp.com/ go to Support Tickets https://support.nxp.com/s/?language=en_US, there are global engineer support here.
Wish you have a nice day
Best Regards
Rita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, how did you solve this problem? I also encountered this problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @Hgong2023 ,
We found an error in the DDR RPA configuration and fixed it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @khang_letruong
Can you tell me what you changed in RPA Xls?, I am using imx8ulp custom board and facing same issue ddr calibration completed successfully but while flashing image after modify timing file given by tool experiencing same error.
