cannot boot from QSPI on the LS1046A.

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

cannot boot from QSPI on the LS1046A.

跳至解决方案
1,177 次查看
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 项奖励
回复
1 解答
1,039 次查看
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 项奖励
回复
6 回复数
1,124 次查看
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 项奖励
回复
1,043 次查看
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 项奖励
回复
1,040 次查看
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 项奖励
回复
1,015 次查看
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 项奖励
回复
1,012 次查看
yipingwang
NXP TechSupport
NXP TechSupport

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

0 项奖励
回复
976 次查看
Johnson_s
Contributor III

I have posted a new thread on the forum.

Cannot write data at address 0x80000000 - NXP Community

0 项奖励
回复