Unable to boot from QSPI flash 0 in LS1046ARDB development board

cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to boot from QSPI flash 0 in LS1046ARDB development board

389 Views
Hemanth_mp
Contributor II
Hi 
 
We are using LS1046RDB board for our project. For booting up and understanding different boot configuration we are following LSDKUG_Rev20.12.pdf document and for the console using RJ45 connector as UART1 port
 
Now we are trying to bootup board from different boot option. We were able to boot up from QSPI flash1 ( bank 04) and SD card.
But when we are tried to boot from QSPI flash 0 it's not working and still booting from flash 1 only
 
the switch configurations currently we are using are
 
SW3 [1-8]: 01001110
SW4 [1-8]: 00101011
SW5 [1-8]: 00100010
 
when we change SW3[3:5] to 000 board is not showing any data in console
 
From the u-boot command prompt tried to change boot option by using
 
=> cpld reset
 
to switch to NOR bank 0 but it still booting in bank 4 only
 
at the same time  
 
=>cpld reset altbank 
=>cpld reset sd
 
works fine on switching boot options from QSPI 1 and SD card
 
So, Then we tried to recover NOR flash 0 from NOR flash 1 by following the steps
 
=> tftp $load_addr firmware_ls1046ardb_uboot_qspiboot.img
=> sf probe 0:1
=> sf erase 0 +$filesize && sf write $load_addr 0 $filesize
=> cpld reset
 
But after this operation also it got booted up from QSPI NOR flash 1 only
 
 
NOTE: To Check whether the erase is working fine we had tried to erase a memory block and read its value
 
=> sf probe 0:1
 
=> sf erase 0x00 +0x100
 
=> md.w $load_addr 100
 
but when we read memory, we got the output as
 
a0000000: beef dead beef dead beef dead beef dead    ................
 
( complete log attached below)
 
Please let us know what went wrong, any help would be greatly appreciated
Thanks
__________________________________________________________________________
 
NOTICE:  UDIMM 18ASF1G72AZ-2G6B1 

NOTICE:  8 GB DDR4, 64-bit, CL=15, ECC on, CS0+CS1
NOTICE:  BL2: v1.5(release):LSDK-20.12
NOTICE:  BL2: Built : 04:32:38, Dec 11 2020
NOTICE:  BL31: v1.5(release):LSDK-20.12
NOTICE:  BL31: Built : 04:34:48, Dec 11 2020
NOTICE:  Welcome to LS1046 BL31 Phase


U-Boot 2020.04-gf46a944f71 (Dec 11 2020 - 04:34:39 +0800)

SoC:  LS1046AE Rev1.0 (0x87070010)
Clock Configuration:
       CPU0(A72):1800 MHz  CPU1(A72):1800 MHz  CPU2(A72):1800 MHz  
       CPU3(A72):1800 MHz  
       Bus:      700  MHz  DDR:      2100 MT/s  FMAN:     800  MHz
Reset Configuration Word (RCW):
       00000000: 0e150012 10000000 00000000 00000000
       00000010: 11335559 40005012 40025000 c1000000
       00000020: 00000000 00000000 00000000 00238800
       00000030: 20124000 00003101 00000096 00000001
Model: LS1046A RDB Board
Board: LS1046ARDB, boot from QSPI vBank 4
CPLD:  V2.3
PCBA:  V2.0
SERDES Reference Clocks:
SD1_CLK1 = 156.25MHZ, SD1_CLK2 = 100.00MHZ
DRAM:  7.9 GiB (DDR4, 64-bit, CL=15, ECC on)
       DDR Chip-Select Interleaving Mode: CS0+CS1
SEC0: RNG instantiated
Using SERDES1 Protocol: 4403 (0x1133)
Using SERDES2 Protocol: 21849 (0x5559)
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Loading Environment from SPI Flash... SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
OK
EEPROM: NXID v1
In:    serial
Out:   serial
Err:   serial
Net:   SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
Fman1: Uploading microcode version 106.4.18
PCIe1: pcie@3400000 Root Complex: no link
PCIe2: pcie@3500000 Root Complex: no link
PCIe3: pcie@3600000 Root Complex: no link
FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1, FM1@TGEC2
Hit any key to stop autoboot:  0 
=> sf probe 0:1
SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
=> sf erase 0x00 +0x100
SF: 262144 bytes @ 0x0 Erased: OK
=> md.w $load_addr 100
a0000000: beef dead beef dead beef dead beef dead    ................
a0000010: beef dead beef dead beef dead beef dead    ................
a0000020: beef dead beef dead beef dead beef dead    ................
a0000030: beef dead beef dead beef dead beef dead    ................
a0000040: beef dead beef dead beef dead beef dead    ................
a0000050: beef dead beef dead beef dead beef dead    ................
a0000060: beef dead beef dead beef dead beef dead    ................
a0000070: beef dead beef dead beef dead beef dead    ................
a0000080: beef dead beef dead beef dead beef dead    ................
a0000090: beef dead beef dead beef dead beef dead    ................
a00000a0: beef dead beef dead beef dead beef dead    ................
a00000b0: beef dead beef dead beef dead beef dead    ................
a00000c0: beef dead beef dead beef dead beef dead    ................
a00000d0: beef dead beef dead beef dead beef dead    ................
a00000e0: beef dead beef dead beef dead beef dead    ................
a00000f0: beef dead beef dead beef dead beef dead    ................
a0000100: beef dead beef dead beef dead beef dead    ................
a0000110: beef dead beef dead beef dead beef dead    ................
a0000120: beef dead beef dead beef dead beef dead    ................
a0000130: beef dead beef dead beef dead beef dead    ................
a0000140: beef dead beef dead beef dead beef dead    ................
a0000150: beef dead beef dead beef dead beef dead    ................
a0000160: beef dead beef dead beef dead beef dead    ................
a0000170: beef dead beef dead beef dead beef dead    ................
a0000180: beef dead beef dead beef dead beef dead    ................
a0000190: beef dead beef dead beef dead beef dead    ................
a00001a0: beef dead beef dead beef dead beef dead    ................
a00001b0: beef dead beef dead beef dead beef dead    ................
a00001c0: beef dead beef dead beef dead beef dead    ................
a00001d0: beef dead beef dead beef dead beef dead    ................
a00001e0: beef dead beef dead beef dead beef dead    ................
a00001f0: beef dead beef dead beef dead beef dead    ................
Labels (1)
Tags (1)
0 Kudos
3 Replies

381 Views
ufedor
NXP TechSupport
NXP TechSupport

In the provided log:

=> sf probe 0:1
SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB
=> sf erase 0x00 +0x100
SF: 262144 bytes @ 0x0 Erased: OK
=> md.w $load_addr 100

there is no "sf read" command.

0 Kudos

369 Views
Hemanth_mp
Contributor II

Hi ufedor

 

Thanks For the replay, Please find the updated logs

_____________________________________________________________________________________________________

Loading Environment from SPI Flash... SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB

OK

EEPROM: NXID v1

In:    serial

Out:   serial

Err:   serial

Net:   SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB

Fman1: Uploading microcode version 106.4.18

PCIe1: pcie@3400000 Root Complex: no link

PCIe2: pcie@3500000 Root Complex: no link

PCIe3: pcie@3600000 Root Complex: no link

FM1@DTSEC3 [PRIME], FM1@DTSEC4, FM1@DTSEC5, FM1@DTSEC6, FM1@TGEC1, FM1@TGEC2

Hit any key to stop autoboot:  0

=> sf probe 0:1

SF: Detected s25fs512s with page size 256 Bytes, erase size 256 KiB, total 64 MiB

=> sf erase 0 +0x100

SF: 262144 bytes @ 0x0 Erased: OK

=> sf read $load_addr 0 0x100

device 0 offset 0x0, size 0x100

SF: 256 bytes @ 0x0 Read: OK

=> md.w $load_addr 100

a0000000: 0000 00ac aa45 8a05 0000 1000 0002 0e05    ....E...........

a0000010: 0000 0000 0000 0000 1002 4000 1449 1021    ...........@I.!.

a0000020: 0000 c000 1000 4000 0000 0000 0000 0000    .......@........

a0000030: 8800 0021 0000 0000 3001 0000 0000 0000    ..!......0......

a0000040: 0001 0000 0086 0000 0000 0000 0000 0805    ................

a0000050: 0000 0000 0600 0805 0000 0000 0004 0805    ................

a0000060: a000 0000 0068 0805 0008 0000 0000 0808    ....h...........

a0000070: 008e 0000 0408 0805 008e 0000 040c 0805    ................

a0000080: 008e 0000 0420 0805 0e20 8000 1200 08a9    .... ... .......

a0000090: 2880 0000 08cc 08a9 0000 0000 0000 0805    .(..............

a00000a0: 0000 0000 0000 0000 0000 0000 0000 0000    ................

a00000b0: 0000 0000 0000 0000 0000 0000 0000 0000    ................

a00000c0: 0000 0000 0000 0000 0000 0000 0000 0000    ................

a00000d0: 0000 0000 0000 0000 0000 0000 0000 0000    ................

a00000e0: 0000 0000 0000 0000 0000 0000 0000 0000    ................

a00000f0: 0000 0000 0000 0000 0000 0000 0000 0000    ................

a0000100: beef dead beef dead beef dead beef dead    ................

a0000110: beef dead beef dead beef dead beef dead    ................

a0000120: beef dead beef dead beef dead beef dead    ................

a0000130: beef dead beef dead beef dead beef dead    ................

a0000140: beef dead beef dead beef dead beef dead    ................

a0000150: beef dead beef dead beef dead beef dead    ................

a0000160: beef dead beef dead beef dead beef dead    ................

a0000170: beef dead beef dead beef dead beef dead    ................

a0000180: beef dead beef dead beef dead beef dead    ................

a0000190: beef dead beef dead beef dead beef dead    ................

a00001a0: beef dead beef dead beef dead beef dead    ................

a00001b0: beef dead beef dead beef dead beef dead    ................

a00001c0: beef dead beef dead beef dead beef dead    ................

a00001d0: beef dead beef dead beef dead beef dead    ................

a00001e0: beef dead beef dead beef dead beef dead    ................

a00001f0: beef dead beef dead beef dead beef dead    ................

=>
0 Kudos

230 Views
CF2
Contributor I

Hello,

We have a very similar problem to @Hemanth_mp, in that when we do the erase, then read back, it doesn't look like the erase happened. Ultimately, we want to re-program the RCW (as the flash 0 (bank 0) is corrupt and won't boot), but if the erase doesn't work, the write isn't going to either.

I've attached our log below. To give it some context, we have set SW3 to 'swapped' (i.e. 001), so the board is booting from QSPI flash 1 (bank 4), then we do the probe to select flash 0 (bank 0).

So, any suggestions as to why the erase does not set all bytes to 0?

[2021-11-29 10:48:30.608] => sf probe 0:1
[2021-11-29 10:49:03.163] SF: Detected s25fs512s with page size 512 Bytes, erase size 256 KiB, total 64 MiB
[2021-11-29 10:49:33.906] => sf erase 0 +$filesize
[2021-11-29 10:49:53.588] SF: 262144 bytes @ 0x0 Erased: OK
[2021-11-29 10:50:10.834] => sf read 0x82000000 0x00 0xB0
[2021-11-29 10:50:33.204] device 0 offset 0x0, size 0xb0
[2021-11-29 10:50:33.204] SF: 176 bytes @ 0x0 Read: OK
[2021-11-29 10:50:33.204] => md 0x82000000
[2021-11-29 10:50:39.702] 82000000: 01aa0100 00010001 10000000 00000010 ................
[2021-11-29 10:50:39.827] 82000010: 00000000 00000000 40001010 10100040 ...........@@...
[2021-11-29 10:50:39.827] 82000020: 00000000 00000000 00000000 00000000 ................
[2021-11-29 10:50:39.827] 82000030: 00000000 00000000 00001000 00100000 ................
[2021-11-29 10:50:39.827] 82000040: 00000000 00000000 00000000 00000000 ................
[2021-11-29 10:50:39.827] 82000050: 00000000 00000000 00000000 00000000 ................
[2021-11-29 10:50:39.827] 82000060: 00004000 00400000 00000008 08000000 .@....@.........
[2021-11-29 10:50:39.827] 82000070: 00000008 08000000 00000008 08000000 ................
[2021-11-29 10:50:39.827] 82000080: 00000008 08000000 00104a00 004a1000 .........J....J.
[2021-11-29 10:50:39.827] 82000090: 00002800 00280000 00004008 08400000 .(....(..@....@.
[2021-11-29 10:50:39.827] 820000a0: 40006000 00200000 00000000 00000000 .`.@.. .........
[2021-11-29 10:50:39.827] 820000b0: deadbeef deadbeef deadbeef deadbeef ................
[2021-11-29 10:50:39.827] 820000c0: deadbeef deadbeef deadbeef deadbeef ................
[2021-11-29 10:50:39.827] 820000d0: deadbeef deadbeef deadbeef deadbeef ................
[2021-11-29 10:50:39.827] 820000e0: deadbeef deadbeef deadbeef deadbeef ................
[2021-11-29 10:50:39.827] 820000f0: deadbeef deadbeef deadbeef deadbeef ................

 

0 Kudos