Please let us know if you were able to see atleast the Manufacturer and Product ID detected on the MfgTool when you added the New NAND flash parameters. Also, did you observe the wait time of 25 us when you set the support Read Cache mode in the tool?
The Manufacturer and Product ID was detected by the tool as 01h and D3h. But that was all that was detected.
The support Read Cache mode was checked in the MfgTool when we used it to set the flash parameters, we then observed the 25 us wait time.
Here is the content of OtherParts.xml:
<?xml version="1.0" standalone="yes"?>
<!-- User-entered NAND Parts -->
<NAND_DEVICE Vendor_Name="Cypress" Part_Number="S34ML08G101TFI000" Vendor_Code="01" Device_Code="D3" Page_Size="2112" Pages_Per_Block="64" Blocks="8192" Read_Cycle_ns="30" Read_Cache="1" Prog_Cache="1" Internal_Move="0" />
Here is a oscilloscope picture showing the read-behavior. Green = WE#, purple = RE#, orange = R/B#
To me it looks as if it is reading one page (4x512 = 2048 bytes) and then have to wait another 25 us before reading the next.
The Manufacturer and Product ID are the necessary parameters which are retrieved by NX2LP when connected to any new NAND Flash device. The OtherParts.xml shared by you shows the proper configuration was saved after entering the rest of the parameters which will be used for identifying the part next time onwards.
On setting the Read Cache mode, could you please check if the 0x31 command is being sent once CLE goes high in the read operation?
I don't have a logic-analyser so I can't see the actual data-words being written to the flash. I just noticed that R/B# is kept low for about 25 us after a command is written, before read is continued. Since all 2048 before the command seems to be sequential, and all 2048 after the command is sequential, I concluded that we are observing a sequential read longer than 4096 bytes. In this case a read cache page mode command (0x31) should be used when loading the next page, but in that case there would only be a 3us wait right?
So what we see is either the controller not sending 0x31 command, which indicates the controller is not using (or is not aware of) the fact that the flash supports read cache. Or the controller is sending 0x31 command, but the flash has not cached the page and has to read it first. Isn't the first reason the most likely?
Yes correct. If it is in the read cache page mode, the wait time should be 3 us. The first case is what is most likely since if we see in the NX2LP firmware (in the header file inand.h), we dont see the 0x31 command for read cache mode but for page read we find the 0x00 command. The source code for the tool also does not include the command so that option may not be present in the latest version of the tool.