Skip to main content

UART通讯

一 添加新的uart口

以x2600e_vast_v20_nand_5.10_defconfig 为例查看使用的dts文件

bhu@bhu-PC:~/work/build$ grep -nr "kernel" configs/x2600e_vast_v20_nand_5.10_defconfig 
6:APP_kernel_dir=../kernel/kernel
7:APP_kernel_config=x2600_vast_module_base_linux_sfc_nand_defconfig //kernel配置
9:# APP_kernel_dtb is not set

配置文件位于kernel/kernel/arch/mips/configs目录下

bhu@bhu-PC:~/work/build$ grep -nr ".dts"  ../kernel/kernel/arch/mips/configs/x2600_vast_module_base_linux_sfc_nand_defconfig 
257:CONFIG_DT_X2600_MODULE_BASE_DTS_FILE="x2600_vast_module_base.dts"

dts 文件位于kernel/kernel/module_drivers/dts,可以添加需要的uart,格式参考已经添加过的

1

kernel可以添加的uart参考同级目录下的x2600-pinctrl.dtsi文件,以uart0为例,支持pc21-24及pe9-12

2

二 uart测试

设备节点

# ls /dev/ttyS*
/dev/ttyS0 /dev/ttyS1 /dev/ttyS2

启动信息

[    0.129663] 10030000.serial: ttyS0 at MMIO 0x10030000 (irq = 55, base_baud = 9375000) is a uart0
[ 0.131472] 10031000.serial: ttyS1 at MMIO 0x10031000 (irq = 54, base_baud = 9375000) is a uart1
[ 0.133155] 10032000.serial: ttyS2 at MMIO 0x10032000 (irq = 53, base_baud = 9375000) is a uart2
[ 0.133555] printk: console [ttyS2] enabled
[ 0.133555] printk: console [ttyS2] enabled
[ 0.134009] printk: bootconsole [early0] disabled
[ 0.134009] printk: bootconsole [early0] disabled

测试

#  echo "this is serial test string" > /dev/ttyS2

this is serial test string