cancel
Showing results for 
Search instead for 
Did you mean: 

Nor Flash

OtisFrank
New Contributor II

Hello

We have been using S29GL064N90TF103 for a while without issue and I have just tested three boards with the newer/faster replacement, Cypress S29GL064S70TF103, and the S29GL-S parts are not reporting the CFI Query string.

With the code below, both devices (the S29GL-N and S29GL-S) properly return these values as expected:

FlashCFI.mfgCode =0001h
FlashCFI.deviceCode[0]=227Eh
FlashCFI.deviceCode[1]=2210h
FlashCFI.deviceCode[3]=2201h

But the boards with the newer S29GL-S parts are returning these incorrect results:

query[0]=0x0001 //Error - Should be 'Q'
query[1]=0x227E //Error - Should be 'R'
query[2]=0x0000 //Error - Should be 'Y'

All 3 failing FLASH devices are marked:

S29GL064S70TF103
749BB481 A
(c) 13   SPANSION

I'm at a loss... Any suggestions?

Thanks!

// Send the AutoSelect command
FLASH_CMD_WR(NOR_UNLOCK_ADDR1, NOR_UNLOCK_DATA1); // 1st Cycle
FLASH_CMD_WR(NOR_UNLOCK_ADDR2, NOR_UNLOCK_DATA2); // 2nd Cycle
FLASH_CMD_WR(NOR_UNLOCK_ADDR1, NOR_AUTOSELECT_CMD); // 3rd Cycle

// Read the Manufacturer Code
FlashCFI.mfgCode = FLASH_CMD_RD(NOR_MFG_CODE_ADDRESS);

// Read the Device ID(s)
FlashCFI.deviceCode[0] = FLASH_CMD_RD(NOR_DEVICE_CODE1_ADDR);
FlashCFI.deviceCode[1] = FLASH_CMD_RD(NOR_DEVICE_CODE2_ADDR);
FlashCFI.deviceCode[2] = FLASH_CMD_RD(NOR_DEVICE_CODE3_ADDR);

// Get CFI data (valid in AutoSelect mode)

// Read CFI QUERY
FLASH_CMD_WR(NOR_CFI_ADDR_QUERY, NOR_CFI_QUERY_CMD);

// Get QUERY Response
query[0] = FLASH_CMD_RD(NOR_CFI1_ADDRESS);
query[1] = FLASH_CMD_RD(NOR_CFI2_ADDRESS);
query[2] = FLASH_CMD_RD(NOR_CFI3_ADDRESS);



0 Likes
8 Replies
AlbertB_56
Employee

Hello,

Thank you for contacting Cypress Semiconductor.

Please ensure that the CFI (entry) Query command  (adrs: 55 / data: 98) has been sent to the FLASH.  This command can be sent to the FLASH, while it is in the Autoselect mode.  Please refer to the attachment.

 

Best regards,

Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

 

 

0 Likes
OtisFrank
New Contributor II

That is being done with this:

FLASH_CMD_WR(NOR_CFI_ADDR_QUERY, NOR_CFI_QUERY_CMD);

 Where:

#define NOR_CFI_ADDR_QUERY 0x55
#define NOR_CFI_QUERY_CMD 0x98

Works fine with the old parts ("N"), but not with the newer "S"

0 Likes
OtisFrank
New Contributor II

I was told by an Infineon Application Specialist that for GL-S: "After entering AutoSelect Mode to read device id, it needs to exit AutoSelect Mode by sending command F0h before entering CFI Mode." And also "F0h command is also required after CFI query for GL-S"

After making these changes, the CFI query works fine.

I don't understand why section 9 of the S29GL064S data sheet specifically states that CFI Query can be entered while in AutoSelect mode:
"The system can also write the CFI query command when the device is in the autoselect mode. The device enters the CFI query mode, and the system can read CFI data at the addresses given in Table 13 on page 27 to Table 16 on page 29."

Frank

0 Likes
AlbertB_56
Employee

Hello Frank,

Thank you for your response.  The statement in Section 9 within the S29GL064S datasheet may be a carry-over from the  S29GL-N and/or S29GL-P series, but I will confirm with Product Engineering and issue a document report to correct the discrepancy.

 

Best regards,

Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

AlbertB_56
Employee

Hello Frank,

I believe you are now working with our FAE, Yong Qin, and that the suggested work around is to initiate the F0h command to exit out of the Autoselect mode, and then initiate the CFI Entry command.

Therefore, I will close this thread, as you continue to work with Yong.

 

Best regards,

Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

 

0 Likes
OtisFrank
New Contributor II

I have not selected a solution yet as I am waiting for a response about the data sheet and migration documents. 

0 Likes
AlbertB_56
Employee

Hello Frank ,

OK, thanks for your response.  Yes, I believe Yong (and P/E) have requested for timing waveforms from your team, and are still awaiting for their response.

 

Best regards,
Albert

Cypress Semiconductor Corp.

An Infineon Technologies Company

0 Likes
OtisFrank
New Contributor II

I have not been contacted for any information, nor do I think I need to be. Section 9 of the S29GL064S data sheet specifically states that CFI Query can be entered while in AutoSelect mode:
"The system can also write the CFI query command when the device is in the autoselect mode. The device enters the CFI query mode, and the system can read CFI data at the addresses given in Table 13 on page 27 to Table 16 on page 29."

Either it can, or it can't.

0 Likes