UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor mkennedy
Visitor
322 Views
Registered: ‎10-07-2019

Accessing the QSPI Flash Non-Volatile Configuration Register (NVCR)

Jump to solution

Hello,

We have a custom board based on the ZCU102.  Our board has an MT25QU02G QSPI flash memory chip, and we would like to write to the Non-Volatile Configuration Register (NVCR) of this chip.  Would anyone be able to tell us how this NVCR register can be accessed, either from Vivado, XSDK, or UBoot?

I've found the following forum post where they are writing to the NVCR of the ZC702 board, but unfortunately I'm not familiar enough with the Xilinx/Petalinux development flow to know where the code should be executed from:  https://forums.xilinx.com/t5/Processor-System-Design/QSPI-Flash-nonvolatile-configuration-register/m-p/488978

Any help is very much appreciated.

Thank you!

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
240 Views
Registered: ‎10-11-2011

Re: Accessing the QSPI Flash Non-Volatile Configuration Register (NVCR)

Jump to solution

The forum post you are refering to is showing how to write a function that you can call in standalone to program the NVCR. You can start from the SDK example for QSPI and simply add that function and call it.

Honestly this is the approach I would suggest since there's no way to do this in Vivado and I am not sure about u-boot.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

2 Replies
Highlighted
Xilinx Employee
Xilinx Employee
241 Views
Registered: ‎10-11-2011

Re: Accessing the QSPI Flash Non-Volatile Configuration Register (NVCR)

Jump to solution

The forum post you are refering to is showing how to write a function that you can call in standalone to program the NVCR. You can start from the SDK example for QSPI and simply add that function and call it.

Honestly this is the approach I would suggest since there's no way to do this in Vivado and I am not sure about u-boot.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

Visitor mkennedy
Visitor
198 Views
Registered: ‎10-07-2019

Re: Accessing the QSPI Flash Non-Volatile Configuration Register (NVCR)

Jump to solution

Hi denist,

Thanks for the response. I was able to write to the NVCR by generating a new FSBL program in Xilinx XSDK, and modifying the code in xfsbl_qspi.c, XFsbl_Qspi32Init(...) to read and write to the register. This worked for us since we just needed to do a quick troubleshooting test.

For anyone else who comes across this and decides to try it this way, it seems you will need to have the PMU Firmware (pmufw.elf) running before loading the FSBL. If you want to debug your FSBL code with breakpoints, etc., you will also have to remove the compiler optimization flags as explained here: https://www.xilinx.com/support/answers/71671.html

0 Kudos