2026-02-05 9:45 AM
Hello,
I am working with an STM32MP135f-dk device running Linux and trying to evaluate the possibility of using the USART peripheral in synchronous mode (TX/RX + CK).
From a hardware point of view, the STM32 USART clearly supports synchronous operation. However, when using the standard STM32 USART Linux kernel driver, the peripheral is only exposed as a /dev/ttySTM* device and operates strictly in asynchronous (UART) mode.
As far as I can see, the current driver does not enable or drive the CK clock signal, which makes true synchronous USART communication impossible under Linux, even though the underlying hardware is a USART.
My questions are:
1. Is this limitation expected by design in the current STM32 Linux USART driver?
2. Has anyone successfully implemented synchronous USART on STM32 under Linux, for example by: Extendimg the existing driver, writing a custom kernel driver, or using an alternative ?
2026-02-05 10:25 AM
Regarding 1.: yes
/dev/tty* seem to support only async mode, see https://wiki.st.com/stm32mpu/wiki/USART_internal_peripheral "4. Software frameworks and drivers":
Linux®: serial/tty framework; however, the Linux® kernel supports only the UART Asynchronous mode (Synchronous mode not supported)
So another driver will be required...