- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Would you please create a new thread to discuss your new problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have posted a new thread on the forum.
