Welcome to Firefly
Switch language
Firefly Docsss
Last Updated: 2026-07-31 14:12:51

UART

Introduction

AIO-1126BQ38 supports UART3 and UART5 interfaces. UART3 is used as RS485, and UART5 is used as RS232.

DTS Configuration

File path: kernel-6.1/arch/arm64/boot/dts/rockchip/rv1126b-firefly-aio-1126bq38.dts

#ifdef FF_UART3
&uart3 {
        pinctrl-0 = <&uart3m1_xfer_pins>;
        status = "okay";
};
#endif

#ifdef FF_UART5
&uart5 {
        pinctrl-0 = <&uart5m1_xfer_pins>;
        status = "okay";
};
#endif

After configuring the serial port, the nodes corresponding to the hardware interface on the software are:

UART3:  /dev/ttyS3	RS485
UART5:  /dev/ttyS5	RS232

Send And Receive Verification

Users can use different host USB-to-serial adapters to send and receive data to and from the development board's serial port, depending on the interface. For example, the debugging steps for UART5 are as follows:

(1) Development board sends, host receives

# Host terminal executes first:
# /dev/ttyUSB0 is the node for the host serial port adapter; modify it according to your actual setup. Set the baud rate to 115200.
stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb -icanon -echo
cat /dev/ttyUSB0

# Development board debug serial port terminal executes:
# /dev/ttyS5 is the UART5 node. The baud rate is set to 115200.
stty -F /dev/ttyS5 115200 cs8 -cstopb -parenb -icanon -echo
echo "firefly UART5 test..." > /dev/ttyS5

The host terminal can receive the string "firefly UART5 test..."

(2) Host sends, development board receives

# Development board debug serial port terminal executes first:
# /dev/ttyS5 is the UART5 node. The baud rate is set to 115200.
stty -F /dev/ttyS5 115200 cs8 -cstopb -parenb -icanon -echo
cat /dev/ttyS5

# Host terminal execution:
# /dev/ttyUSB0 is the node for the host serial port adapter; modify it according to your actual setup. Set the baud rate to 115200.
stty -F /dev/ttyUSB0 115200 cs8 -cstopb -parenb -icanon -echo
echo "firefly UART5 test..." > /dev/ttyUSB0

The development board debugging serial port terminal can receive the string "firefly UART5 test..."

RS485

GPIO0_B0 is used as an RS485 control pin for transmitting and receiving. Pulling this pin high enables transmitting, and pulling it low enables receiving. Users can operate it through the /sys/class/gpio subsystem.

  • Below is the configuration of GPIO0_B0 for output:
echo 8 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio8/direction
  • Pulling GPIO0_B0 high, RS485 transmitting: echo 1 > /sys/class/gpio/gpio8/value
  • Pulling GPIO0_B0 low, RS485 receiving: echo 0 > /sys/class/gpio/gpio8/value

On this page