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!

AR# 65425

2015.3 SDK FSBL: How to add support for Macronix QSPI flash in FSBL?


Starting in Vivado and SDK 2015.3, programming support has been added for MACRONIX devices (specifically MX25L25635F) as described in (Xilinx Answer 50991).

2015.3 FSBL does not support MACRONIX flash. 

How can I add support for MACRONIX QSPI flash in FSBL?


This is an example of how to add MACRONIX (MX25L25635F and MX66L51235F) support to FSBL.

To add support for MACRONIX flash in FSBL, we need only add the flash ID into the ID coding in the function FlashReadID(void) of FSBL.

The ID for MX25L25635F is 0xC2 0x20 0x19, and 0xC2 0x20 0x1A for MX66L51235F. 

The ID bytes are represented by ReadBuffer[1] ReadBuffer[2] and ReadBuffer[3] in FlashReadID().

ReadBuffer[1] is used to identify flash vendor, and ReadBuffer[3] is used to identify flash capacity. 

The MACRONIX vendor byte 0xC2 and the capacity byte 0x1A are not defined in FSBL.

We can add definitions for them, then FSBL will support them. 

See the attached FSBL project. The definitions are added into qspi.c and qspi.h.


Associated Attachments

Name File Size File Type
Macronix_256Mb_512Mb.zip 73 KB ZIP
AR# 65425
Date Created 09/16/2015
Last Updated 11/10/2015
Status Active
Type General Article
  • Zynq-7000
  • Vivado Design Suite - 2015.2
  • Vivado Design Suite - 2015.3