menuconfig RT_USING_SERIAL bool "Using Serial device drivers" select RT_USING_DEVICE_IPC select RT_USING_DEVICE default y help Enable the UART/USART driver framework that backs the console and TTY devices. Required for shell access or any serial communications. if RT_USING_SERIAL choice RT_USING_SERIAL_VERSION prompt "Choice Serial version" default RT_USING_SERIAL_V1 config RT_USING_SERIAL_V1 bool "RT_USING_SERIAL_V1" config RT_USING_SERIAL_V2 bool "RT_USING_SERIAL_V2" help Select between the legacy serial core (V1) and the newer buffer/ISR design (V2). Choose V2 for advanced buffer strategies, otherwise stay with V1 for compatibility. endchoice choice RT_USING_SERIAL_MODE prompt "Choice Serial version" depends on RT_USING_SERIAL_V2 default RT_SERIAL_BUF_STRATEGY_OVERWRITE config RT_SERIAL_BUF_STRATEGY_DROP bool "drop new incoming data when the buffer is full" config RT_SERIAL_BUF_STRATEGY_OVERWRITE bool "overwrite old data when the buffer is full" help Define how V2 RX buffers behave on overflow: drop new bytes or overwrite oldest data. endchoice config RT_SERIAL_USING_DMA bool "Enable serial DMA mode" default y help Allow serial drivers to use DMA for RX/TX to reduce CPU load. Turn off if your SoC lacks UART DMA support. config RT_SERIAL_RB_BUFSZ int "Set RX buffer size" depends on !RT_USING_SERIAL_V2 default 64 help Size of the legacy (V1) receive ring buffer in bytes. config RT_USING_SERIAL_BYPASS bool "Using serial bypass" default n help Enable bypass mode that forwards data between two serial devices, useful for debugging or bridging. endif if RT_USING_DM && RT_USING_SERIAL rsource "device/Kconfig" endif