Jetson AGX Xavier UARt at Higher Baudrate

Hi I am using Jetson AGX Xavier, I wanted to test UART at higher baud rate 12Mbps.
As termios supports up to 4Mbps only. So I used ioctl configurations. And I am able to test the UART at 12 Mbps on 40 pin header connector, UARTA (THSO).

I am using Write and Read threads. I will send 256 bytes of data from write thread and will be read from Read thread(UART TX and RX lopped back using a wire). But looks it is not consistent. Sometimes It works and some times not.

Below is the configuration that I used :
ioctl(fd, TCGETS2, &tty);
tty.c_cflag &= ~CBAUD;
tty.c_cflag |= BOTHER;
tty.c_cflag |= CLOCAL;
tty.c_cflag |= CSTOPB;
tty.c_ispeed = 12000000;
tty.c_ospeed = 12000000;
retStatus = ioctl(fd, TCSETS2, &tty);

And I verified for the clock set for the UARTA

sudo cat /sys/kernel/debug/bpmp/debug/clk/clk_tree | grep uart
uartc 1 1828571 1 0
uartg 0 38400000 0 0
aon_uart_fst_mipi_cal 0 38400000 0 0
uart_fst_mipi_cal 0 68000000 0 0
uarta 0 204000000 0 0
uartb 0 204000000 0 0
uartd 0 204000000 0 0
uarte 0 204000000 0 0
uartf 0 408000000 0 0
uarth 0 204000000 0 0

Please let me know If I am missing any configuration.

Best Regards,

hello prasanna,

please refer to similar discussion thread, Topic 110229 for commands to configure baudrate.

1 Like

Hi Jerry,

I have followed the same configurations as mentioned in the link you mentioned. In addition to that I enabled 2 Stop Bits. Since above 115200 2 stop bits required, tty.c_cflag |= CSTOPB;. And In place of NEW_SPEED I am giving 12000000. And it is working for me. I am able to send and receive the data and as well I probed on scope rate also changes as expected. but sometimes data receive is not happening.


There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.

hello prasanna,

just for confirmation, did you mean there’s no signaling on the scope while issue happened?