Fails to boot up device with 4GB LPDDR on iMX8QXP-B0 under eMMC boot mode, however uuu flashing is ok under serial mode

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Fails to boot up device with 4GB LPDDR on iMX8QXP-B0 under eMMC boot mode, however uuu flashing is ok under serial mode

3,107 Views
leon_uan
Contributor I

Hi,

My customized images can be flashed into device via uuu tool, and its logs seems normal, see attached logs (uart log and uuu tool log). But device cannot bring up after changing boot switch to eMMC boot mode

Do you have any suggestion?

#1
I pass DDR test using mx8_ddr_tool_ER8, and its ddr test logs
One-time test log: test_result_20190527-13'9'18.log
Overnight test log: test_result_20190531-9'7'37.log
DDR Test script: mx8qxb0_lpddr4_1200mhz_RPAv11_fs8700_1024Gb_MT53D1024M32D4.ds

#2
Device boot up fail in emmc mode no matter ddr cfg file is generated based on v11 or v9 MX8QXP_LPDDR4_register_programming_aid excel file

#3
I also tried the following settings, but device still fail to boot up
#changed size (memory@80000000) in uboot/linux dts to 2GB
#changed PHYS_SDRAM_2_SIZE to 2GB


My SCFW build cmd is:
make clean
make clean-qx
make qx B=mek R=B0 D=1 DL=5 M=0 Z=fs8700_1024Gb DDR_CON=ddr_stress_test_parser
mv build_mx8qx_b0/scfw_tcm.bin build_mx8qx_b0/scfw_tcm_fs8700_1024Gb_ddrtest

make clean
make clean-qx
make qx B=mek R=B0 D=1 DL=5 M=0 Z=fs8700_1024Gb
# "Z=fs8700_1024Gb" is my compile option for including MT53D1024M32D4 cfg file


Device info:
#Freescale i.MX8QXP revB A35 at 1200 MHz at 24C
#PMIC MC33PF8100CCES
#MT53D1024M32D4(Quad-Die, Dual-Channel, Dual-Rank Package)
#DDR cfg file is generated by MX8QXP_B0_LPDDR4_RegisterProgrammingAid_1.2GHz_v11.xlsx, and its basic settings are:
SoC: MX8 QX
Memory type: LPDDR4
Manufacturer: Micron
Memory part number: MT53D1024M32D4
Density per channel per chip select (Gb)1: 8
Number of Channels (based on Bus Width)3 2
Number of Chip Selects used2 2
Total DRAM density (Gb) 32
Number of ROW Addresses2 16
Number of COLUMN Addresses2 10
Number of BANK addresses2 3
Number of BANKS2 8
Bus Width 32
Clock Cycle Freq (MHz) 1200
Clock Cycle Time (ns) 0.833333333

0 Kudos
9 Replies

2,353 Views
leon_uan
Contributor I

Hi Igor,

I am waiting for factory to replace/rework 4GB LPDDR4 by 3GB one

However, we find ... it seems that flash.bin can't be flashed into eMMC properly by the following command
FB: flash bootloader flash.bin (uuu_xxx.uuu)


If I execute 2 more following commands before flashing rootfs.sdcard and flash.bin (uuu_xxx.auto), device can partially boot up after changing boot mode to eMMC
FB: ucmd mmc dev 0 1
FB: ucmd mmc partconf 0 1 7 0

Do you have any suggestion?

BRs

Leon

#use SanDisk eMMC (Industrial iNAND® 7250 e.MMC 5.1 with HS400 Interface)

0 Kudos

2,353 Views
igorpadykov
NXP Employee
NXP Employee

Hi Leon

one can try to flash emmc image without uuu, please use Linux User Guide from documentation

Linux L4.14.98_2.0.0 Documentation

Best regards
igor

0 Kudos

2,353 Views
leon_uan
Contributor I

Hi Igor,

I rebuild image with the following configs, but device still can not boot up...

Do I need to revise more ATF or SCFW or M4 or ...etc. code if changing LPDDR4 size to 4GB?

Or any more suggestion?

BRs

Leon

#CPU i.MX8 QuadXPlus, 1.2GHz, PIMX8QX6AVLFZAB/BGA-609(NXP)RoHS

#imx-scfw-porting-kit-1.2.1
#imx-yocto-bsp-4.14.98-2.0.0_ga

#MX8QXP_B0_LPDDR4_RPA_1.2GHz_v12.xlsx

DDR cfg settings are also: 
SoC: MX8 QX
Memory type: LPDDR4
Manufacturer: Micron
Memory part number: MT53D1024M32D4
Density per channel per chip select (Gb)1: 8
Number of Channels (based on Bus Width)3 2
Number of Chip Selects used2 2
Total DRAM density (Gb) 32
Number of ROW Addresses2 16
Number of COLUMN Addresses2 10
Number of BANK addresses2 3
Number of BANKS2 8
Bus Width 32
Clock Cycle Freq (MHz) 1200
Clock Cycle Time (ns) 0.833333333

0 Kudos

2,353 Views
igorpadykov
NXP Employee
NXP Employee

Hi Leon

is it booting fine with 2/3GB?

Best regards
igor

0 Kudos

2,353 Views
igorpadykov
NXP Employee
NXP Employee

Hi Leon

may be recommended to rebuild image with latest configs

derived from mx8_ddr_stress_test_ER9 and using RPA tool v12.

Latest SCFW v.1.2.1 can be found on

i.MX Software | NXP 

Use latest Linux L4.14.98_2.0.0
linux-imx - i.MX Linux kernel 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,308 Views
liamtien
Contributor I

I following the user guides and employ the below tools for imx8qm mek board:

   1.SCFW source: imx-scfw-porting-kit-1.3.3

   2.DDR stress test tool: mx8_ddr_stress_test_ER14

   3.DDR Register Programming Aid(RPA): MX8QM_B0_LPDDR4_RPA_1.6GHz_v21.xlsx

Then I  try to make SCFW with ddr_stress_test_parser config, but get this error. 

Please tell me where I can get this "DRAM_VREF_training_sw()"? thanks.

  $ make SOC=MX8QM qm B=mek R=B0 DDR_CON=ddr_stress_test_parser

Compiling platform/board/mx8qm_mek/board.c
In file included from platform/board/mx8qm_mek/dcd/dcd.h:3,
from platform/board/mx8qm_mek/board.c:698:
platform/board/mx8qm_mek/dcd/ddr_stress_test_parser.h: In function 'board_ddr_config':
platform/board/mx8qm_mek/dcd/ddr_stress_test_parser.h:324:1: error: implicit declaration of function 'DRAM_VREF_training_sw' [-Werror=implicit-function-declaration]
DRAM_VREF_training_sw(0);
^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:461: recipe for target 'build_mx8qm_b0/board/mx8qm_mek/board.o' failed
make: *** [build_mx8qm_b0/board/mx8qm_mek/board.o] Error 1

 

 

0 Kudos

2,134 Views
liamtien
Contributor I

By now, following errors always coming out on my iMX8QM board, how to fix it? or any patch for kernel v 4.19.35? Thanks in advance. 

[ 0.000000] Booting Linux on physical CPU 0x0000000100 [0x410fd082]
[ 0.000000] Linux version 4.19.35-1.1.0 (root@jeffreyhuang-Inspiron-15-7000-Gaming) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.9)) #3 SMP PREEMPT Thu Jan 21 14:18:25 CST 2021
[ 0.000000] Machine model: Freescale i.MX8QM MEK
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x0000000096000000, size 960 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] Reserved memory: created DMA memory pool at 0x0000000090400000, size 28 MiB
[ 0.000000] OF: reserved mem: initialized node rpmsg_dma@90400000, compatible id shared-dma-pool
[ 0.000000] earlycon: lpuart32 at MMIO 0x000000005a060000 (options '')
[ 0.000000] bootconsole [lpuart32] enabled
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000097fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x97ff6f2c0-0x97ff70d7f]
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000080200000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000097fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000080200000-0x0000000083ffffff]
[ 0.000000] node 0: [mem 0x0000000086400000-0x000000008fffffff]
[ 0.000000] node 0: [mem 0x0000000094c00000-0x00000000fdffffff]
[ 0.000000] node 0: [mem 0x0000000880000000-0x000000097fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000080200000-0x000000097fffffff]
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] random: get_random_bytes called from start_kernel+0xac/0x414 with crng_init=0
[ 0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s56344 r8192 d29672 u94208
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for EL2 vector hardening
[ 0.000000] Speculative Store Bypass Disable mitigation not required
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1511496
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: console=ttyLP0,115200 earlycon root=/dev/mmcblk0p5 rootwait rw
[ 0.000000] software IO TLB: mapped [mem 0xf9fff000-0xfdfff000] (64MB)
[ 0.000000] BUG: Bad page state in process swapper pfn:80201
[ 0.000000] page:ffff7e0000008040 count:0 mapcount:1 mapping:0000000000000000 index:0x0
[ 0.000000] flags: 0x0()
[ 0.000000] raw: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.000000] raw: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.000000] page dumped because: nonzero mapcount
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 4.19.35-1.1.0 #3
[ 0.000000] Hardware name: Freescale i.MX8QM MEK (DT)
[ 0.000000] Call trace:
[ 0.000000] dump_backtrace+0x0/0x160
[ 0.000000] show_stack+0x14/0x20
[ 0.000000] dump_stack+0x8c/0xac
[ 0.000000] bad_page+0xe0/0x140
[ 0.000000] free_pages_check_bad+0x54/0xb8
[ 0.000000] __free_pages_ok+0x250/0x288
[ 0.000000] __free_pages+0x38/0x50
[ 0.000000] __free_pages_bootmem+0xa8/0xb0
[ 0.000000] free_all_bootmem+0x138/0x1c4
[ 0.000000] mem_init+0x48/0x58
[ 0.000000] start_kernel+0x22c/0x414
[ 0.000000] Disabling lock debugging due to kernel taint
[ 0.000000] BUG: Bad page state in process swapper pfn:80202
[ 0.000000] page:ffff7e0000008080 count:0 mapcount:1 mapping:0000000000000000 index:0x0
[ 0.000000] flags: 0x0()
[ 0.000000] raw: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.000000] raw: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 0.000000] page dumped because: nonzero mapcount
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Tainted: G B 4.19.35-1.1.0 #3

 

 

0 Kudos

2,352 Views
leon_uan
Contributor I

I use imx-scfw-porting-kit-1.1.2

0 Kudos

2,352 Views
leon_uan
Contributor I

BSP version: https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-sumo -m imx-4.14.78-1.0.0_ga.xml

0 Kudos