1、首先硬件原理图上需要确认使用的是哪个串口,比如我这里使用的是串口uart4:
2、其次在kernel需要把对应串口的节点使能打开(dts或者dtsi文件中节点配置):
dts里面打开使能(文件:arch/arm64/boot/dts/rockchip/rk3399-box-rev2-hdmi.dts):
dtsi里面的资源描述(文件:./arch/arm64/boot/dts/rockchip/rk3399.dtsi):
3、驱动设备注册log
debug串口有以下log打印,说明驱动注册成功了。如果pinctrl跟其他驱动有冲突的话,会报pinctrl配置失败的log。
3、测试验证uart是否通了
驱动起来后会注册ttySx设备。下面这个是对应的串口4
驱动会根据aliase,来对应串口编号,如下: serial0最终会生成ttyS0,serial3会生成ttyS3设备。
验证方法: 镊子短接tx rx,然后在串口或者adb,敲入命令: echo “1234” > dev/ttyS4 && cat dev/ttyS4,可以实现数据自发自收(能够收发字符串:“1234”)!