AnsweredAssumed Answered

Manually Enabling QSPI Writes Through Mainline U-Boot

Question asked by Patrick Morrow on Mar 25, 2015
Latest reply on Mar 27, 2015 by Patrick Morrow

We are using the LS1021A-TWR Board.

We are running Mainline U-Boot 2015.01 off of an SD Card.

The following is our physical switch configuration and RCW:


SW2[1-8]:         [OFF] [OFF] [ON] [OFF]     [OFF] [ON] [ON] [OFF]

SW3[1-8]:         [OFF] [ON] [ON] [OFF]     [ON] [OFF] [OFF] [ON]

RCW:

          0608000a 00000000 00000000 00000000

          20000000 00407900 60025A00 21046000

          00000000 00000000 00000000 21038000

          20024800 881B1540 00000000 00000000

 

 

Issuing U-Boot "md" commands to addresses in the 0x0155XXXX CCSR QSPI and 0x4XXXXXXX QSPI address spaces appear to complete successfully in that they produce an output and do not hang.

 

In our most recent attempt at manually switching on QSPI Write Enable, we used the U-Boot "mm" command to write the following values to the corresponding addresses.

 

AddressValueIntention
0x015503100x06041808

Queue the command (04) for "Write Enable" (06) where

the bit length of the associated memory address (08) is 18h.

0x015503140x00000000

Declare that no additional data will be sent with the command (0000).

0x015501000x00000040

The previously mentioned 18h=24d bit address is 0x000000

(indicating that this command does not write to the QSPI storage).

0x015500080x00000000

Issue the command and write 0 bytes of return data to 0x01550200.

0x015503100x05041808

Queue another command (04) for "Read Status Register" (05) where

the bit length of the associated memory address (08) is 18h.

0x015503140x011C0000

Declare a read (1C) of 01 byte then declare that

no additional data will be sent with the command (0000).

0x015501000x00000040

The previously mentioned 18h=24d bit address is 0x000000

(indicating that this command does not write to the QSPI storage).

0x015500080x01000000

Issue the command and write 01 byte of return data to 0x01550200.

 

Each "mm" command has been verified as being successful through the use of the "md" command.

After the above commands, the write latch bit (bit #1) in the Status Register should be 1 as indicated by Micron's N25Q512A Serial NOR Flash Documentation but it is still 0.

 

To clarify, this question solely relates to QSPI and we are not experiencing any problems with U-Boot or booting Linux from an SD Card.

 

Any direction would be greatly appreciated. Thank you in advance!

Outcomes