Subject: Cannot use GPIO P0.19 on nRF9160 as UART TX pin

Hi everyone,

I'm working with the nRF9160 and trying to configure P0.19 as the UART TX pin using Zephyr.
Here's the configuration I used in the device tree:

uart1_default: uart1_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 19)>; // TX in board = P0.19
// nordic,drive-mode = <NRF_DRIVE_H0D1>;
};
group2 {
psels = <NRF_PSEL(UART_RX, 0, 20)>; // RX in board = P0.10
bias-pull-up;
};
};

uart1_sleep: uart1_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 19)>,
<NRF_PSEL(UART_RX, 0, 20)>;
low-power-enable;
};
};

However, the UART does not transmit any data. When I change to another pin like P0.11, it works fine.

  • Is there any hardware limitation that prevents using P0.19 as a TX pin?

  • Does Zephyr or the modem firmware restrict certain GPIOs from being used for UART?

  • Any way to check if the pin configuration is being applied correctly at runtime?

Thanks in advance!

Parents Reply
  • Sorry I was a bit unclear in my wording. Let me rephrase. In VScode are you using a custom board you have created yourself as the board target? If you are using the DK as your board target you would need to disable in your overlay the peripherals used to communicate with nrf52840 in the dk. This you would find in the board files for the dk, and just disable in the overlay files

    Regards

    Runar

Children
Related