AnsweredAssumed Answered

How to write a LUT program sequence for a new QSPI NOR Flash?

Question asked by jun wu on Mar 8, 2017
Latest reply on Jan 12, 2018 by Denis Collis

My board is iMX6UL EVK。
We can use the onboard QSPI NOR flash(N25Q256A) to boot up linux。
And now we need to use another QSPI NOR flash(W25Q128FV) to bringup the system。
We can not use MFG tool to write/read the QSPI NOR flash(W25Q128FV).
We can not use QSPI driver example(evkmcimx6ul\driver_examples\qspi\polling_transfer) to write/read the QSPI NOR flash(W25Q128FV).

 

(1)Is the QuadSPI Configuration Parameters problems?

(2)Can you give us a detailed document about LUT table and QuadSPI Configuration Parameters?

I found that there is a LUT table in the code,but I could not understand the structure and the organization。

(3)Could you please explain the meaning of the bold font as following:
uint32_t lut[FSL_FEATURE_QSPI_LUT_DEPTH] =
{/* Seq0 :Quad Read */
/* CMD: 0xEB - Quad Read, Single pad */
/* ADDR: 0x18 - 24bit address, Quad pads */
/* DUMMY: 0x0a - 10 clock cyles, Quad pads */
/* READ: 0x80 - Read 128 bytes, Quad pads */
/* JUMP_ON_CS: 0 */
[0] = 0x0A1804EB, [1] = 0x1E800E0a, [2] = 0x2400,

/* Seq1: Write Enable */
/* CMD: 0x06 - Write Enable, Single pad */
[4] = 0x406,

/* Seq2: Erase All */
/* CMD: 0xc7 - Erase All chip, Single pad */
[8] = 0x4c7,

/* Seq3: Read Status */
/* CMD: 0x05 - Read Status, single pad */
/* READ: 0x01 - Read 1 byte */
[12] = 0x1c010405,

/* Seq4: Page Program */
/* CMD: 0x02 - Page Program, Single pad */
/* ADDR: 0x18 - 24bit address, Single pad */
/* WRITE: 0x80 - Write 128 bytes at one pass, Single pad */
[16] = 0x08180402, [17] = 0x2080,


Thank you very much!

 

Outcomes