Hello dear Toradex community,
I am struggling with activation of a UART with a device tree overlay at the SoM Verdin AM62 on a Dahlia Board. The SoM is running Torizon OS 7 with PREEMPT_RT patch (7.3.0-devel-202506+build.9).
The goal is to use verdin-uart7 which actually is UART2 of the SoC.
My development computer is running Win11 and I develop code in VS Code in WSL. I have a demo application running on the SoM and the other UARTs already work. I do not want to change the OS (Torizon OS).
I had a look on smartstuffs question ( How to configure custom UART? - #13 by SmartStuff ) and others but I couldnt make mine work so far.
I downloaded linux-toradex and checked out branch toradex_ti-linux-6.6.y. For the device tree compilation I followed Build Device Tree Overlays from Source Code | Toradex Developer Center , but only the steps at Manual Device Tree Overlays Compilation.
My device tree overlay looks as follows: (I had to copy k3-pinctrl.h into my folder with the DTO file so that compilation worked)
/dts-v1/;
/plugin/;
#include “k3-pinctrl.h”
&{/} {
aliases { serial5 = &main_uart2; /\*serial5 = "/bus@f0000/serial@2820000";\*/ };};
&main_i2c3
{
status = "disabled";};
&main_pmx0 {
main_uart2_alt_pins: main_uart2_alt_pins { pinctrl-single,pins = < AM62X_IOPAD(0x01d0, PIN_INPUT_PULLUP, 3) /\* (A15) UART2_RXD \*/ /\* SODIMM 95 \*/ AM62X_IOPAD(0x01d4, PIN_OUTPUT, 3) /\* (B15) UART2_TXD \*/ /\* SODIMM 93 \*/ /\*AM62X_IOPAD(0x0078, PIN_OUTPUT, 8) \*/ /\* (U24) UART2_RTSn \*/ /\* SODIMM 21 \*/ /\*AM62X_IOPAD(0x0074, PIN_INPUT, 8) \*/ /\* (U25) UART2_CTSn \*/ /\* SODIMM 76 \*/ >; };};
/* Configure UART7 with alternate pins */
/* Verdin UART_7 */
&main_uart2 {
status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&main_uart2_alt_pins>; /\*uart-has-rtscts;\*/};
Note: I disabled I2C3 as it would conflict as it uses the same pins (93, and 95).
When I compile this, I get the error:
uart7-alt-pins.dts:7.10-11.4: ERROR (path_references): /fragment@0/overlay/aliases: Reference to non-existent node or label “main_uart2”
This looks pretty similar to smartstuffs problem, so I changed the serial5 alias to
serial5 = "/bus@f0000/serial@2820000";
which then throws:
uart7-alt-pins.dts:9.6-44: Warning (alias_paths): /fragment@0/overlay/aliases:serial5: aliases property is not a valid node (/bus@f0000/serial@2820000)
Another Torizon developer posted: Verdin Am62 : using all the Main Uart in am62 - #2 by ToradexAI that the number of UART instances is by default set to 6 in kernel menuconfig, and after setting this to 8 it worked, however i dont think thats the problem here.
Any help would be appreciated ![]()
Kind regards,
Dom