UART RX pin pulled up

Hello everyone, 

I am having trouble communicating with nRF5340DK kit through UART0. My baudrate is 115200 and there is no flow control.

The UART RX pin (P0.22) seems to be pulled up which is causing the signal to not receive correctly. The TX pin (P0.20) seem to work fine and is able to receive the data without any issues. I have tried to disable the pull-up using the overlay file. But it does not seem to remove the pull-up. I have tried pulling down the P0.22 too.

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

&pinctrl {

	uart0_default: uart0_default {
		group1 {
			psels = <NRF_PSEL(UART_TX, 0, 20)>,
				<NRF_PSEL(UART_RTS, 0, 19)>;
		};
		group2 {
			psels = <NRF_PSEL(UART_RX, 0, 22)>,
				<NRF_PSEL(UART_CTS, 0, 21)>;
			bias-disable;                               // <-------------------
		};
	};

	uart0_sleep: uart0_sleep {
		group1 {
			psels = <NRF_PSEL(UART_TX, 0, 20)>,
				<NRF_PSEL(UART_RX, 0, 22)>,
				<NRF_PSEL(UART_RTS, 0, 19)>,
				<NRF_PSEL(UART_CTS, 0, 21)>;
			low-power-enable;
		};
	};

};

I am using NCS v3.12.0 and SDK v2.1.2.

In my setup, I have a Jetson Xavier NX which I am trying to communicate with through UART. When the UART pins are not connected between Jetson and the DK my oscilescope output from the Jetson UART TX pin is,

But when I connect the P0.22 to the Jetson TX pin, the output is,

I am not familiar with UART and devicetree. So I am wondering what this issue is and how to solve this. Should I try with different pins instead of P0.22 and P0.20?

Related