UART

Hardware interface

Core-3588L The following figure shows the serial port of the hardware
version:


DTS config

File path "kernel-5.10/arch/arm64/boot/dts/rockchip/aio-3588l.dtsi"
There is one M.2 SATA interface on the development board AIO-3588L

   #define CAN1_OR_UART3 0 /*1 = CAN1 , 0 = UART3 */
   ...
   ...
   ...
   //ext gpio
   &uart6 {
       pinctrl-names = "default";
       pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
       status = "okay";
   };

   &uart7 {
       pinctrl-names = "default";
       pinctrl-0 = <&uart7m1_xfer>;
       status = "okay";
   };

   &uart8 {
       pinctrl-names = "default";
       pinctrl-0 = <&uart8m1_xfer>;
       status = "okay";
   };

   #if CAN1_OR_UART3
   &can1 {
       status = "okay";
       assigned-clocks = <&cru CLK_CAN1>;
       assigned-clock-rates = <200000000>;
       pinctrl-names = "default";
       pinctrl-0 = <&can1m0_pins>;
   };
   #else
   &uart3 {
       pinctrl-names = "default";
       pinctrl-0 = <&uart3m1_xfer>;
       status = "okay";
   };
   #endif

After the serial port is configured, the node corresponding to the
hardware interface

   UART3:   /dev/ttyS3
   UART6:   /dev/ttyS6
   UART7:   /dev/ttyS7
   UART8:   /dev/ttyS8

UART send and receive

The easiest way to do this is to stub the UART7 TX RX pin and then use
the command to execute the command in the debug serial port or ADB

   busybox  stty -echo -F /dev/ttyS7          # Close the echo
   cat /dev/ttyS7 &                           # Get /dev/ttyS7 
   echo "firefly uart test..." > /dev/ttyS7   # Input string

The final debugging serial port terminal can receive the string
"firefly uart test..."