IMX6UL can't boot from NAND flash

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

IMX6UL can't boot from NAND flash

2,194 Views
kr90911
Contributor III

Hi all,

I have a IMX6UL custom board with NAND flash,and bsp version is YOCTO L4.14.98.

I can burn bsp into flash with uuu tool,and the board can boot to linux user space from serial download mode.

But it can't boot from NAND flash.

After the board power up, I checked address 0x907400,which IVT header should showed there:

kr90911_0-1601014645191.png

It seems that ROM can't fail to get IVT.

I also checked ROM log in 0x901D14:

00010002 ROM_LOG_BOOTMODE_INTERNAL
000200F0 ROM_LOG_SEC_CONFIG_OPEN
00030000 ROM_LOG_DIR_BT_DIS_VALUE0
00040000 ROM_LOG_BT_FUSE_SEL_VALUE0
00050000 ROM_LOG_PRIM_IMAGE_SELECT
00060000 ROM_LOG_PRIM_BOOTDEVICE_NAND
00070000 ROM_LOG_DEVICE_INIT_CALL
00070033 ROM_LOG_DEVICE_INIT_FAIL
00050001 ROM_LOG_SEC_IMAGE_SELECT
00060000 ROM_LOG_PRIM_BOOTDEVICE_NAND
00070000 ROM_LOG_DEVICE_INIT_CALL
00070033 ROM_LOG_DEVICE_INIT_FAIL
00061FFF ROM_LOG_REC_BOOTDEVICE_NONE
00062001
00070000 ROM_LOG_DEVICE_INIT_CALL
00070033 ROM_LOG_DEVICE_INIT_FAIL

It show boot process fail in initialize.

I don't know the process fail in which stage.

According to IMX6ULRM,the first boot stage is to check FCB structure,and the FCB looked fine:

0x00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000010: 00 00 00 00 00 00 64 fb   ff   ff  46 43 42 20 00 00
0x00000020: 00 01 50 3c 19 06 00 00 00 00 00 08 00 00 40 08
0x00000030: 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000040: 00 00 04 00 00 00 00 02 00 00 00 02 00 00 04 00
0x00000050: 00 00 0a 00 00 00 03 00 00 00 00 00 00 00 00 00
0x00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02
0x00000080: 00 00 00 04 00 00 ba 01 00 00 ba 01 00 00 00 01
0x00000090: 00 00 cf 07 00 00 a9 c1 8f bf 58 77 57 81 8e 60
0x000000a0: 8b 49 b8 bd 7b e4 a2 80 86 0e 93 81 1d 80 77 96
0x000000b0: c5 5f bd e9 2f 01 ca eb 92 ad 82 79 30 18 f6 da
0x000000c0: 0b 6d fc c5 37 c1 b7 26 f9 96 23 ee 09 22 e8 03
0x000000d0: d2 c3 a3 fb 0a 85 73 00 00 00 00 00 08 00 00 00
0x000000e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x000000f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00000150: 00 00 00 00 00 00 00 6b c2 6a f0 45 9a b9 1a bd
0x00000160: d9 5d 54 c2 01 5e 56 eb 4d c8 8e e5 1a ca df e2
0x00000170: 99 32 79 b1 28 48 f9 c3 c1 2b 9c a7 c1 aa 25 ff
0x00000180: 5b af e4 e0 b3 1d aa 22 35 91 50 6c 8c c8 91 7a
0x00000190: 41 53 d6 fb 73 af 2a 96 00 00 00 00 00 00 00 00

Did FCB looked well?

Could anyone share about how to deal with it?

Thanks.

West

 

0 Kudos
3 Replies

2,188 Views
igorpadykov
NXP Employee
NXP Employee

Hi kr90911

 

one can start debugging with checking signals with oscilloscope,

prolonging POR up to 1 sec. Attach jtag debugger, check

SRC_SBMR1,2 registers if they have correct boot configuration.

 

Best regards
igor

0 Kudos

2,146 Views
kr90911
Contributor III

Hi Igor,

After set hardware config BOOT_CFG1[0](Nand_Row_address_bytes) bit from 1 to 0,the ROM log changed:

00010002
000200F0
00030000
00040000
00050000
00060000
00070000 ROM_LOG_DEVICE_INIT_CALL
000700F0 ROM_LOG_DEVICE_INIT_PASS
00080000 ROM_LOG_DEVICE_READ_DATA_CALL
00000100
00080033 ROM_LOG_DEVICE_READ_DATA_FAIL
00050001
00060000
00070000
000700F0
00080000 ROM_LOG_DEVICE_READ_DATA_CALL
00000380
000800F0 ROM_LOG_DEVICE_READ_DATA_PASS
00090000 ROM_LOG_AUTHENTICATION_STATUS
000A0533
00061FFF ROM_LOG_REC_BOOTDEVICE_NONE
00062001
00070000
00070033
000C0000 ROM_LOG_SDP_ENTRY

What does these logs means?

I still can't boot from NAND flash.

BR

 

0 Kudos

2,156 Views
kr90911
Contributor III

Hi @igorpadykov ,

Thanks for your replied.

I checked SRC_SBMR registers with DDR test tool and values showed below:

Boot Configuration
SRC_SBMR1(0x020d8004) = 0x00000890
SRC_SBMR2(0x020d801c) = 0x02000041

 

IMX6ULRM:

SRC_SBMR2.JPG

 

 

 

 

 

 

 

 

 

 

 

The SRC_SBMR2[6] should be 0 but there is 1 on my board.

Did this bit mean something wrong?

0 Kudos