Pin assignment for UART on the nRF54L15DK

Hello.

I am testing UART connectivity using the nRF54L15DK.

After assigning pins to TX and RX, there were combinations that worked fine and combinations that didn't.
There are no build errors. The program starts up successfully, but UART communication doesn't work.
In both cases, there doesn't appear to be any conflict with other pins.
Even after explicitly removing "uart30_default" and "uart30_sleep" where P0.0 and P0.1 are used, the results didn't change.
Since RST and CST are not being used, I haven't assigned them.

The "nrf54l15dk_nrf54l15_cpuapp.overlay" is as follows. Everything is the same except for this file.
Is there any configuration oversight or constraint?

OK

/ {
	chosen {
		nordic,nus-uart = &uart21;
	};
};

&uart21 {
	status = "okay";
	current-speed = <9600>;
	pinctrl-0 = <&uart21_default_alt>;
	pinctrl-1 = <&uart21_sleep_alt>;
	pinctrl-names = "default", "sleep";
	/delete-property/ endtx-stoptx-supported;
	/delete-property/ frame-timeout-supported;
};

&pinctrl {
	uart21_default_alt: uart21_default_alt {
		group1 {
			psels = <NRF_PSEL(UART_TX, 1, 11)>, <NRF_PSEL(UART_RX, 1, 12)>;
		};
	};
	uart21_sleep_alt: uart21_sleep_alt {
		group1 {
			psels = <NRF_PSEL(UART_TX, 1, 11)>, <NRF_PSEL(UART_RX, 1, 12)>;
			low-power-enable;
		};
	};
};

NG

/ {
	chosen {
		nordic,nus-uart = &uart30;
	};
};

&uart30 {
	status = "okay";
	current-speed = <9600>;
	pinctrl-0 = <&uart30_default_alt>;
	pinctrl-1 = <&uart30_sleep_alt>;
	pinctrl-names = "default", "sleep";
	/delete-property/ endtx-stoptx-supported;
	/delete-property/ frame-timeout-supported;
};

&pinctrl {
	/delete-node/ uart30_default;
	/delete-node/ uart30_sleep;
	uart30_default_alt: uart30_default_alt {
		group1 {
			psels = <NRF_PSEL(UART_TX, 0, 0)>, <NRF_PSEL(UART_RX, 0, 1)>;
		};
	};
	uart30_sleep_alt: uart30_sleep_alt {
		group1 {
			psels = <NRF_PSEL(UART_TX, 0, 0)>, <NRF_PSEL(UART_RX, 0, 1)>;
			low-power-enable;
		};
	};
};

Thanks for reading.

a.da

Parents
  • Hi

    I would assume the visual editor should show any taken pins, so this seems strange. Can you upload a version of your project where this is reproducible as well as share what version of the nRF Connect SDK you're working on so I can try and reproduce this on my end?

    Best regards,

    Simon

  • Hi Simon,

    I apologize, but the issue no longer reproduces.

    I have prepared a sample project to upload here. It is the Peripheral UART of SDK V2.9.0.
    However, I was able to communicate successfully with both pin assignments for uart21 and uart30.

    I have also been able to use P0.0 and P0.1 in our custom project.

    I’m sorry for the trouble caused. 

    Thank you for your support.

    Kind regards,

    a.da

Reply
  • Hi Simon,

    I apologize, but the issue no longer reproduces.

    I have prepared a sample project to upload here. It is the Peripheral UART of SDK V2.9.0.
    However, I was able to communicate successfully with both pin assignments for uart21 and uart30.

    I have also been able to use P0.0 and P0.1 in our custom project.

    I’m sorry for the trouble caused. 

    Thank you for your support.

    Kind regards,

    a.da

Children
No Data
Related