cannot boot from QSPI on the LS1046A.

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

cannot boot from QSPI on the LS1046A.

Jump to solution
311 Views
Johnson_s
Contributor III

I am validating a custom board equipped with the LS1046A. I used the CodeWarrior Flash Programmer to write "PBL+u-boot" to QSPI. To enable QSPI and UART, I have configured the RCW to modify settings 12, 13, and 14.

After changing to QSPI mode with the DIP switch and powering up, nothing happens. When I observe the QSPI waveform with an oscilloscope, I can see that CS goes low 10 times after the board powers up, and then the same sequence repeats every 5 seconds. Looking at the RESET_REQ_B waveform, I can see that it responds after the 10 CS transitions, followed by another 10 CS transitions starting again. This occurs with a period of about 5 seconds. What could be the cause?

Additional notes:

  • There is no output from UART.
  • I have the CodeWarrior JTAG.
  • using a QSPI device with 16-bit word access.

Thanks.

0 Kudos
Reply
1 Solution
173 Views
yipingwang
NXP TechSupport
NXP TechSupport

It seems that there is DDR initialization problem, you need to use QCVS DDR tool to connect to your custom board to do verification to get the optimized parameters and use them to modify ATF source code.

View solution in original post

0 Kudos
Reply
6 Replies
258 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please check whether RCW is valid for your custom board.

1. You need to modify all RCW fields according to your custom board.

2. RCW image needs to be swapped before flashing to QSPI flash.

 

Please refer to the following procedure to generate ATF bl2 image, then deploy it to the target board to do verification.

1. Please use the following method to build RCW binary image in your Linux host PC.

$ git clone https://github.com/nxp-qoriq/rcw.git

$ cd rcw

$ git checkout -b LSDK-21.08 LSDK-21.08

Then modify ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.rcw according to your target board, please check all RCW fields and delete no used PBI commands.

$ make

You will get ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin

 

2.

$ git clone https://github.com/nxp-qoriq/atf.git
$ cd atf
$ git checkout -b LSDK-21.08 LSDK-21.08

$ sudo apt-get install gcc-aarch64-linux-gnu

$ export CROSS_COMPILE=aarch64-linux-gnu-

$ make PLAT=ls1046ardb bl2 BOOT_MODE=qspi pbl RCW=~/rcw/ ls1046ardb/RR_FFSSPPPH_1133_5559/rcw_1800_qspiboot.bin

Note: please specify RCW binary path generated by you.

You will get build/ls1046ardb/release/bl2_qspi.pbl, please program bl2_qspi.pbl at offset 0 of QSPI flash.

 

0 Kudos
Reply
177 Views
Johnson_s
Contributor III

Thank you for your response. By creating a PBL from the GitHub page you provided, I was able to start the QSPI boot. However, a new issue has arisen.

The console message stops at "NOTICE: BL2: Built: [date and time]." Do you know the cause of this?

0 Kudos
Reply
174 Views
yipingwang
NXP TechSupport
NXP TechSupport

It seems that there is DDR initialization problem, you need to use QCVS DDR tool to connect to your custom board to do verification to get the optimized parameters and use them to modify ATF source code.

0 Kudos
Reply
149 Views
Johnson_s
Contributor III

I failed both Read and Write using the QCVS DDR tool. Also, when I run Diagnose Connection in the "Target Connections" tab, an error is output at the Test DDR memory access section: "Cannot write data at address 0x80000000."

What areas do I need to modify on https://github.com/nxp-qoriq/atf.git to initialize the DDR for my custom board? Currently, I am creating a PBL based on the LS1046ARDB.

0 Kudos
Reply
146 Views
yipingwang
NXP TechSupport
NXP TechSupport

Would you please create a new thread to discuss your new problem?

0 Kudos
Reply
110 Views
Johnson_s
Contributor III

I have posted a new thread on the forum.

Cannot write data at address 0x80000000 - NXP Community

0 Kudos
Reply