In our product, the MK60FN1M0VMD12 MCU has been used with S29GL032N memory chip with works fine. As the S29GL032N memory is obsoleted, the S29GL064S memory chip has been replaced as alternate. But with S29GL064S memory chip, the write and read operation fails with same drivers.
We tried to tune the CSCR register with Wait status, Extended Address Latch, Address setup configuration which had not helped to resolve the problem.
As there is no acknowledge memory on the data availability from memory and the controller read/write data based the Auto Acknowledgement functionality, the read operation gives the address information as data value when the application reads the data from Flash.
Please review and provide the value inputs on how the resolve and sync the Auto acknowledge based integration mechanism with S29GL064S memory chip.
The same controller and drivers was working good with S29GL032N.
Below are the details on register configuration:
/* Enable external flash mapped on CS0 */
/* CS0 base address */
fb_ptr->CS[1].CSAR = base_address;
/* CS0 control (8bit data, 1 wait state) */
fb_ptr->CS[1].CSCR = FB_CSCR_AA_MASK |
FB_CSCR_WS(5) |
FB_CSCR_PS(2) |
FB_CSCR_BEM_MASK;
/* CS0 address mask and enable */
fb_ptr->CS[1].CSMR = FB_CSMR_BAM(0x3f) | FB_CSMR_V_MASK;
fb_ptr->CSPMCR = FB_CSPMCR_GROUP1(1);