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

QSPI pins in 52840

As per the datasheet of nrf52840 any peripheral like SPI/UART/... can be configured to any of the GPIOs so is the QSPI also.

But at Pin details QSPI pins are recommended at only some particular pins. Any reason for it?

Can QSPI be configured to any GPIO or only at the recommended pins.

I see some conflict according to the datasheet content:

As per latest datasheet of nRF52840 ver 1.1:

Page 580, table-143: QSPI is recommended for specific pins only.

Per section: 6.19.10.19,20,… QSPI can be configured to any Dig GPIO pins.

Looks little contradictory, please clarify this.

farooq.

+91 8374213192

Parents
  • Hi Farooq

    The recommendations in table 143 are just that, recommendations. So you can configure any of the GPIO pins as QSPI. However the pins recommended for low freq I/O only could interfere with the radio performance if used for high frequency operations, such as the QSPI. So you can use any GPIOs except P0.10, P1.06, P0.09, P1.03, P1.07, P1.05, P1.02, P1.04 and P1.01 without any problems what so ever. 

    If you are not using the radio simultaneously as the QSPI you can use these pins as well.

    Best regards,

    Simon

Reply
  • Hi Farooq

    The recommendations in table 143 are just that, recommendations. So you can configure any of the GPIO pins as QSPI. However the pins recommended for low freq I/O only could interfere with the radio performance if used for high frequency operations, such as the QSPI. So you can use any GPIOs except P0.10, P1.06, P0.09, P1.03, P1.07, P1.05, P1.02, P1.04 and P1.01 without any problems what so ever. 

    If you are not using the radio simultaneously as the QSPI you can use these pins as well.

    Best regards,

    Simon

Children
  • Thank you so much for the quick reply.

    I will check with my hardware dept. 

  • hi,i m use the qspi's pin as the spi ‘s pin,but the pin have no ware,the project i use is 

    nordic sdk\nRF5_SDK_16.0.0_98a08e2\examples\peripheral\spi

    and i modify the pin map of spi:

    int main(void)
    {
    //bsp_board_init(BSP_INIT_LEDS);
    
        APP_ERROR_CHECK(NRF_LOG_INIT(NULL));
        NRF_LOG_DEFAULT_BACKENDS_INIT();
    
        nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
        spi_config.ss_pin   = SPI_SS_PIN;
        spi_config.miso_pin = 22/*SPI_MISO_PIN*/;
        spi_config.mosi_pin = 21/*SPI_MOSI_PIN*/;
        spi_config.sck_pin  = SPI_SCK_PIN;
        APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, spi_event_handler, NULL));
    
        NRF_LOG_INFO("SPI example started.");
    
        while (1)
        {
            // Reset rx buffer and transfer done flag
            memset(m_rx_buf, 0, m_length);
            spi_xfer_done = false;
    
            APP_ERROR_CHECK(nrf_drv_spi_transfer(&spi, m_tx_buf, m_length, m_rx_buf, m_length));
    
            while (!spi_xfer_done)
            {
                __WFE();
            }
    
            NRF_LOG_FLUSH();
    
       //     bsp_board_led_invert(BSP_BOARD_LED_0);
            nrf_delay_ms(200);
        }
    }

    and i cant see the ware in the pin of p0.21 and p0.22.the chip is nrf52840,so i dont known whay it cant delect ware.

Related