Flow control is not working between nrf9160 and nrf5340

I am using 9160 as slave which communicates with nrf5340(master) over UART. with flow control disabled everything works but as soon as I enable the hardware flow control then the nf9160 is not able to send the data to nRF5340.

My configuration:

  • at 5340 side:

&uart0 {
status = "okay";
current-speed = <460800>;
pinctrl-0 = <&uart0_default>;
pinctrl-1 = <&uart0_sleep>;
pinctrl-names = "default", "sleep";
hw-flow-control;
};

uart0_default: uart0_default {
group1 {
psels = <NRF_PSEL(UART_RTS, 1, 12)>,
<NRF_PSEL(UART_CTS, 1, 13)>;
};
group2 {
psels = <NRF_PSEL(UART_TX, 0, 3)>,
<NRF_PSEL(UART_RX, 0, 5)>;
bias-pull-up;
};
};

uart0_sleep: uart0_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 3)>,
<NRF_PSEL(UART_RX, 0, 5)>,
<NRF_PSEL(UART_RTS, 1, 12)>,
<NRF_PSEL(UART_CTS, 1, 13)>;
low-power-enable;
};
};

  • AT 9160 side:

&uart1 {
status = "okay";
hw-flow-control;
current-speed = <460800>;
pinctrl-0 = <&uart1_default>;
pinctrl-1 = <&uart1_sleep>;
pinctrl-names = "default", "sleep";
};

uart1_default: uart1_default {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 29)>,
<NRF_PSEL(UART_RTS, 0, 27)>,
<NRF_PSEL(UART_CTS, 0, 26)>,
<NRF_PSEL(UART_RX, 0, 28)>;
};
};

uart1_sleep: uart1_sleep {
group1 {
psels = <NRF_PSEL(UART_TX, 0, 29)>,
<NRF_PSEL(UART_RX, 0, 28)>,
<NRF_PSEL(UART_RTS, 0, 27)>,
<NRF_PSEL(UART_CTS, 0, 26)>;
low-power-enable;
};
};

I have also verified in the peripheral that it says flow control is enabled at both the sides

Related