RTEMS | bsp/arm/tms570: fix SCI termios ignore framing flags bug (!1220)
Avi Weiss (@thnkslprpt)
gitlab at rtems.org
Wed Apr 29 15:27:48 UTC 2026
Avi Weiss commented on a discussion on bsps/arm/tms570/console/tms570-sci.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1220#note_149238
> bauddiv = ( TMS570_VCLK_HZ + baudrate / 2 ) / baudrate;
> ctx->regs->BRS = bauddiv ? bauddiv - 1 : 0;
>
> - ctx->regs->GCR1 |= TMS570_SCI_GCR1_SWnRST | TMS570_SCI_GCR1_TXENA |
> - TMS570_SCI_GCR1_RXENA;
> + // Bring the SCI out of reset and always enable TX
> + ctx->regs->GCR1 |= TMS570_SCI_GCR1_SWnRST | TMS570_SCI_GCR1_TXENA;
> +
> + // Check CREAD to see if we should also enable RX
> + if ( ( t->c_cflag & CREAD ) != 0 ) {
> + ctx->regs->GCR1 |= TMS570_SCI_GCR1_RXENA;
> + }
@ppisa
termios default path in `cpukit/libcsupport/src/termios.c` sets `CREAD` so that one is fine:
```c
/*
* Set default parameters
*/
tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;
tty->termios.c_oflag = OPOST | ONLCR | OXTABS;
tty->termios.c_cflag = CS8 | CREAD | CLOCAL;
```
but it's good that you reminded here to check Pavel - there was a case that needed to be fixed in the tms570 `printk` code - it's added here as a separate commit.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1220#note_149238
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260429/0a0fd441/attachment-0001.htm>
More information about the bugs
mailing list