Issue with QSPI Flash MX25R64 on Custom Pin Configuration (nRF52840)

Hello,

I am experiencing an issue while trying to connect an external flash memory (MX25R64) via the QSPI interface on an nRF52840-based custom board. My pin configuration differs from the one used in the official development kit.

Here is my pin setup:

qspi_default: qspi_default {
    group1 {
        psels = <NRF_PSEL(QSPI_SCK, 1, 12)>,
                <NRF_PSEL(QSPI_IO0, 1, 11)>,
                <NRF_PSEL(QSPI_IO1, 1, 10)>,
                <NRF_PSEL(QSPI_IO2, 0, 10)>,
                <NRF_PSEL(QSPI_IO3, 0, 9)>,
                <NRF_PSEL(QSPI_CSN, 0, 31)>;
        nordic,drive-mode = <NRF_DRIVE_H0H1>;
    };
};

qspi_sleep: qspi_sleep {
    group1 {
        psels = <NRF_PSEL(QSPI_SCK, 1, 12)>,
                <NRF_PSEL(QSPI_IO0, 1, 11)>,
                <NRF_PSEL(QSPI_IO1, 1, 10)>,
                <NRF_PSEL(QSPI_IO2, 0, 10)>,
                <NRF_PSEL(QSPI_IO3, 0, 9)>;
        low-power-enable;
    };
    group2 {
        psels = <NRF_PSEL(QSPI_CSN, 0, 31)>;
        low-power-enable;
        bias-pull-up;
    };
};

Flash configuration:
&qspi {
    status = "okay";
    pinctrl-0 = <&qspi_default>;
    pinctrl-1 = <&qspi_sleep>;
    pinctrl-names = "default", "sleep";

    mx25r64: mx25r6435f@0 {
        compatible = "nordic,qspi-nor";
        reg = <0>;
        writeoc = "pp4io";
        readoc = "read4io";
        sck-frequency = <2000000>;
        jedec-id = [ c2 28 17 ];
        sfdp-bfp = [ e5 20 f1 ff ff ff ff 03 44 eb 08 6b 08 3b 04 bb ee ff ff ff ff ff 00 ff ff ff 00 ff 0c 20 0f 52 10 d8 00 ff 23 72 f5 00 82 ed 04 cc 44 83 68 44 30 b0 30 b0 f7 c4 d5 5c 00 be 29 ff f0 d0 ff ff ];
        size = <67108864>;
        has-dpd;
        t-enter-dpd = <10000>;
        t-exit-dpd = <35000>;
    };
};
Upon initialization, I get the following error:
<err> qspi_nor: JEDEC id [00 00 00] expect [c2 28 17]
I suspect that the issue may be related to the fact that some of the assigned pins were originally used for NFC functionality. I attempted to reconfigure them as GPIO using:
nrfx_nvmc_word_write((uint32_t) & (NRF_UICR->NFCPINS),
                     (uint32_t)UICR_NFCPINS_PROTECT_Disabled);

However, this did not resolve the issue.

Could you please provide guidance on resolving this problem?

Thank you for your assistance!

Parents
  • Hello,

    From the screenshot shared, I can see that the NFC pins have been configured correctly as GPIOs. So, if you are still seeing the error message shared in the first response, then this might not be an issue of conflicting NFC pins. I doubt if this could be a hardware issue. I recommend using a logic analyzer to see if signals are present on the QSPI lines.

    Kind Regards,
    Abhijith

Reply
  • Hello,

    From the screenshot shared, I can see that the NFC pins have been configured correctly as GPIOs. So, if you are still seeing the error message shared in the first response, then this might not be an issue of conflicting NFC pins. I doubt if this could be a hardware issue. I recommend using a logic analyzer to see if signals are present on the QSPI lines.

    Kind Regards,
    Abhijith

Children
No Data
Related