This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

QSPI seems to still occupy its pins even if it is disabled.

I'am working on nrf52840 and base on a sample hci_spi. I use spi1 and tried several different pins, they all works fine.

but when i disable qspi and try to use the pins originally used by qspi, my spi1 failed.

.dts attached, test to use p0.19 as sck-pin.

2677.zephyr.dts

Parents
  • Would you be able to upload a simiplified sample that demonstrates your issue, such that I can investigate it on my side.

    Best regards,

    Simon

  • i also tried some other samples, they all have the same symptom.

    it's just the p0.19 to p0.23 can't be controlled.

    I tested on nRF52840-DK board, i'm not sure if it's because of HW configuration.

    i simply use a sample in SDK, (ncs\1.6.1\nrf\sample\peripheral_uart) and add some simple GPIO control codes to test, as below:

    const struct device *gpio_devs;
    gpio_devs = device_get_binding("GPIO_0");
    gpio_pin_configure(gpio_devs, 19, GPIO_OUTPUT);
    if(xx)
    xx=0;
    else xx=1;
    if (xx)
    gpio_pin_set(gpio_devs,19,1);
    else
    gpio_pin_set(gpio_devs,19,0);

    i put test code in the void ble_write_thread() so that when i tap Enter on uart terminal, the gpio level switches. it works on most other GPIOs but p0.19 to p0.23.

Reply
  • i also tried some other samples, they all have the same symptom.

    it's just the p0.19 to p0.23 can't be controlled.

    I tested on nRF52840-DK board, i'm not sure if it's because of HW configuration.

    i simply use a sample in SDK, (ncs\1.6.1\nrf\sample\peripheral_uart) and add some simple GPIO control codes to test, as below:

    const struct device *gpio_devs;
    gpio_devs = device_get_binding("GPIO_0");
    gpio_pin_configure(gpio_devs, 19, GPIO_OUTPUT);
    if(xx)
    xx=0;
    else xx=1;
    if (xx)
    gpio_pin_set(gpio_devs,19,1);
    else
    gpio_pin_set(gpio_devs,19,0);

    i put test code in the void ble_write_thread() so that when i tap Enter on uart terminal, the gpio level switches. it works on most other GPIOs but p0.19 to p0.23.

Children
No Data
Related