This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Error using USB MSC example with external QSPI Flash W25Q128FV

I'm attempting to use the USB MSC example (from nRF5 SDK v15.0.0) with external flash chip replaced with Winbond W25Q128FV and I see the following logs:

[00:00:00.000,000] <info> app: Initializing disk 0 (QSPI)...
[00:00:00.000,000] <error> app: Disk initialization failed.
[00:00:00.000,000] <info> app: USBD MSC example started.
[00:00:00.000,000] <info> app: USB power detected
[00:00:00.000,000] <info> app: Un-initializing disk 0 (QSPI)...
[00:00:00.000,000] <info> app: USB ready

I was able to use the QSPI example with the same flash part and it worked correctly when the READOC and WRITEOC were both set to 0.

Please help in finding if I'm missing anything here.

Parents
  • Anantha,

    In nrf_serial_flash_params_t.c:
    Replace read ID from MXIC MX25R6435F to the appropriate ID of the W25Q128FV.

    For reference, here is the ID for the winbond W25Q64JV:

    static const nrf_serial_flash_params_t m_sflash_params[] = {
        {    /*MXIC MX25R6435F*/
    //        .read_id = { 0xC2, 0x28, 0x17 },
            /*Winbond W25Q64JV*/
            .read_id = { 0xEF, 0x40, 0x17 },
            .capabilities = 0x00,
            .size = 8 * 1024 * 1024,
            .erase_size = 4 * 1024,
            .program_size = 256,
        }
    };
    


Reply
  • Anantha,

    In nrf_serial_flash_params_t.c:
    Replace read ID from MXIC MX25R6435F to the appropriate ID of the W25Q128FV.

    For reference, here is the ID for the winbond W25Q64JV:

    static const nrf_serial_flash_params_t m_sflash_params[] = {
        {    /*MXIC MX25R6435F*/
    //        .read_id = { 0xC2, 0x28, 0x17 },
            /*Winbond W25Q64JV*/
            .read_id = { 0xEF, 0x40, 0x17 },
            .capabilities = 0x00,
            .size = 8 * 1024 * 1024,
            .erase_size = 4 * 1024,
            .program_size = 256,
        }
    };
    


Children
Related