NRF5340 - QSPI has slower performance than single lane SPI with external QSPI flash

QSPI has slower performance than single lane SPI using same CLK frequency with external QSPI flash with LittleFS.

Registers have been reconfigured according to your Errata;

  NRF_QSPI->IFTIMING = ((uint32_t)6 << QSPI_IFTIMING_RXDELAY_Pos) & QSPI_IFTIMING_RXDELAY_Msk;
  NRF_QSPI->IFCONFIG0 &= ~(1 << 17);
  NRF_QSPI->IFCONFIG0 |= (1 << 16);

System is using Zephyr os with kconfig file containig:

CONFIG_NORDIC_QSPI_NOR=y
CONFIG_SPI_NOR_SFDP_RUNTIME=y
CONFIG_FLASH_JESD216_API=y
CONFIG_FLASH_PAGE_LAYOUT=y
and dts file :

&qspi {
    label = "spi-ext-flash";
    compatible = "nordic,nrf-qspi";
    status = "okay";
    pinctrl-0 = <&qspi_default>;
    pinctrl-1 = <&qspi_sleep>;
    pinctrl-names = "default", "sleep";

    mx66: mx66Flash@0 {
        compatible = "nordic,qspi-nor";
        reg = <0>;
        writeoc = "pp4io";
        readoc = "read4io";
        sck-frequency = <16000000>;
        jedec-id = [ c2 25 3b  ];
        size = <1073741824>;    /* 1 Gigabit */
        has-dpd;
        address-size-32;
        enter-4byte-addr = <0x85>;
        t-enter-dpd = <10000>;
        t-exit-dpd = <30000>;
    };
};
    qspi_default: qspi_default {
        group1 {
            psels = <NRF_PSEL(QSPI_IO0, 0, 13)>, <NRF_PSEL(QSPI_IO1, 0, 14)>, <NRF_PSEL(QSPI_IO2, 0, 15)>, <NRF_PSEL(QSPI_IO3, 0, 16)>, <NRF_PSEL(QSPI_CSN, 0, 18)>, <NRF_PSEL(QSPI_SCK, 0, 17)>;
        };
    };

    qspi_sleep: qspi_sleep {
        group1 {
            psels = <NRF_PSEL(QSPI_IO0, 0, 13)>, <NRF_PSEL(QSPI_IO1, 0, 14)>, <NRF_PSEL(QSPI_IO2, 0, 15)>, <NRF_PSEL(QSPI_IO3, 0, 16)>, <NRF_PSEL(QSPI_CSN, 0, 18)>, <NRF_PSEL(QSPI_SCK, 0, 17)>;
            low-power-enable;
        };
    };
Can you let me know if this issue is known to you? How to resolve problem of slow transmission? What additional steps or configs have to be issued to enable full speed of QSPI?
Parents Reply Children
No Data
Related