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

QSPI: problems with a MX25R1635F or how to initialize the port pins?

Hi

data sheet of the nRF52840 states that the QSPI port pins should be initialized to "high drive".

I've experimented a little bit because I have problems with a Macronix Flash (MX25R1635F) which does not reliably work.  The DK-Chip from Macronix (MX25R6435F) is not a problem with the same firmware and a flash from OnSemi (LE25S161) works on our hardware as well.

To make the story short: I can do RDID of the MX25R1635F, but reading the status/config register of the MX25R1635F always shows zero.  Erasing also does not work.  The OnSemi works without problems.

I've already used all different SPI read/write modes, no success.  I've also tried to init the port pins with pullup.  Not a good idea, because the program than hangs.

So the question: how to setup the QSPI port pins properly?

Thanks & regards

Hardy

Parents
  • Replying to myself: I guess that the following could be a problem:

    #define NRFX_QSPI_DEFAULT_CINSTR(opc, len) \
    {                                          \
        .opcode    = (opc),                    \
        .length    = (len),                    \
        .io2_level = false,                    \
        .io3_level = false,                    \
        .wipwait   = false,                    \
        .wren      = false                     \
    }

    This is used e.g. in nrfx_qspi_mem_busy_check().

    The Macronix has two different modes.  In one IO3 and IO4 are HOLD# and RESET#, in the other those are IOs (QEN).

    Problem seems that one has to really put the Macronix into the QEN mode before all is working.

    So still two question:

    • how to init the QSPI port pins?
    • is there any special reason, why io3_level/io4_level are set to "0"?

    Regards

    Hardy

  • Hi Simon

    question remains open: any special reason why IO3/4 are set to "0"?  To my opinion this collides with /HOLD of most flash parts.  (at least my OnSemi / Macronix ;-))

    Regards

    Hardy

Reply Children
No Data
Related