CPU1: failed to come online

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

CPU1: failed to come online

跳至解决方案
2,696 次查看
Chenyi_Luo
Contributor II

Hello,

I meet a problem during the imx8qxp processor start up, the CPU1,2,3 fail to come online.

I use the imx-yocto-L5.4.24_2.1.0 version.

Is the problem related to the configuration of scfw?

Thanks

0 项奖励
1 解答
2,500 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @Chenyi_Luo ,

BL32_BASE value can be calculated as below for i.MX8QXP:
 
BL32_BASE = DRAM_BASE - 0x02000000 + DDR_SIZE
 
For 1 GB DRAM BL32_BASE can be configured to 0xBE000000.
Please change the value of BL32_BASE and TEE_LOAD_ADDR to 0xBE000000.
 
Please make sure that you have updated the DDR configuration in SCFW using i.MX 8/8X Family DDR Tools.
 
Thanks & Regards,
Dhruvit Vasavada

在原帖中查看解决方案

6 回复数
2,608 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @Chenyi_Luo,

 

From the boot logs, it is found that you are using 1 GB DRAM.
 
1. Please make sure that you have followed the steps mentioned in 5.7 Adding OP-TEE support for a new board of i.MX Porting Guide and have set the correct value for CFG_DDR_SIZE.
 
2. Please consider the below change in /plat/imx/imx8qx/platform.mk in imx-atf  ( As existing value 0xfe000000 will overwrite 1 GB limit (0xC0000000))
      ifeq (${PLAT},imx8dx)
      BL32_BASE ?= 0x96000000
      else
     BL32_BASE ?= 0x96000000
     endif
 
3. Also make a similar change at /iMX8QX/soc.mak at imx-boot as below: 
       ifeq ($(SOC),iMX8DX)
       TEE_LOAD_ADDR ?= 0x96000000
       else ifeq ($(SOC),iMX8QX)
       TEE_LOAD_ADDR ?=  0x96000000
       endif

 

Thanks & Regards,
Dhruvit.

0 项奖励
2,603 次查看
Chenyi_Luo
Contributor II

Hello @Dhruvit ,

Yes, we are using 1GB DDR now.

According to your reply, I adjusted the configuration of the memory size:

1.imx-atf/plat/imx/imx8qx/platform.mk

 

 

ifeq (${PLAT},imx8dx)
BL32_BASE              ?=      0x96000000
else
BL32_BASE              ?=      0x96000000
endif

 

 

2.imx-mkimage/iMX8QX/soc.mak

 

 

ifeq ($(SOC),iMX8DX)
TEE_LOAD_ADDR ?= 0x96000000
else ifeq ($(SOC),iMX8QX)
TEE_LOAD_ADDR ?= 0x96000000
endif

 

 

3.optee-os/core/arch/arm/plat-imx/conf.mk

 

 

 ifneq (,$(filter $(PLATFORM_FLAVOR),mx8qxpmek mx8qmmek))
 CFG_DDR_SIZE ?= 0x40000000
 CFG_UART_BASE ?= UART0_BASE
 endif

 

 

In addition, we also have some configuration about memory before:

4.uboot/include/configs/imx8qxp_mek.h

 

 

#ifdef CONFIG_TARGET_IMX8DX_MEK
#define PHYS_SDRAM_1_SIZE       0x40000000  /* 1 GB */
#define PHYS_SDRAM_2_SIZE       0x00000000  /* 0 GB */
#else
    #if 0
    #define PHYS_SDRAM_1_SIZE       0x80000000  /* 2 GB */
    /* LPDDR4 board total DDR is 3GB */
    #define PHYS_SDRAM_2_SIZE       0x40000000  /* 1 GB */
    #else
    /* total DDR is 1GB */
    #define PHYS_SDRAM_1_SIZE       0x40000000  /* 1 GB */
    #define PHYS_SDRAM_2_SIZE       0x00000000  /* 0 GB */
    #endif
#endif

 

 

The above four changes are all of our changes to the memory size.

If there is only the fourth change point, then CPU startup will be abnormal(CPU1: failed to come online).

But if all four change points take effect, the download will be abnormal.

It will stack at "SDPV: jump", as the 图片.png shows.

The uuu script is emmc.uuu.txt.

Why is this? Is it because we set it up incorrectly?

Thank you.

标记 (1)
0 项奖励
2,501 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @Chenyi_Luo ,

BL32_BASE value can be calculated as below for i.MX8QXP:
 
BL32_BASE = DRAM_BASE - 0x02000000 + DDR_SIZE
 
For 1 GB DRAM BL32_BASE can be configured to 0xBE000000.
Please change the value of BL32_BASE and TEE_LOAD_ADDR to 0xBE000000.
 
Please make sure that you have updated the DDR configuration in SCFW using i.MX 8/8X Family DDR Tools.
 
Thanks & Regards,
Dhruvit Vasavada

1,691 次查看
Chenyi_Luo
Contributor II

Hello,

We change the size of memory to 0xBE000000.

Now CPU can start normally.

Thank you.

0 项奖励
1,678 次查看
Dhruvit
NXP TechSupport
NXP TechSupport

Hi @Chenyi_Luo 

Can I mark this case to close state?

Thanks & Regards

Dhruvit Vasavada

0 项奖励
1,670 次查看
Chenyi_Luo
Contributor II

Hello,

Sure.

Thank you.

0 项奖励