本身的硬件连接是 wk2114连接主控端rk3568的uart0 然后从wk2114转出4个uart口
dtsi 修改内容
/*uart0: serial@fdd50000 {
compatible = "rockchip,rk3568-uart", "snps,dw-apb-uart";
reg = <0x0 0xfdd50000 0x0 0x100>;
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
dmas = <&dmac0 0>, <&dmac0 1>;
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer>;
status = "disabled";
};*/
修改以上的节点配置为以下内容
uart0: serial@fdd50000 {
compatible = "rockchip,wk2xxx_uart";
reg = <0x0 0xfdd50000 0x0 0x100>;
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
reset-gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
irq-gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
current-speed = <115200>;
clock-frequency = <24000000>;
clocks = <&pmucru SCLK_UART0>, <&pmucru PCLK_UART0>;
clock-names = "baudclk", "apb_pclk";
reg-shift = <2>;
reg-io-width = <4>;
dmas = <&dmac0 0>, <&dmac0 1>;
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer>;
status = "okay";
};
驱动文件夹的驱动放在RK_Android_11.0_sdk\kernel\drivers\misc目录下面并修改Makefile 文件增加obj-y += wk2xxx_uart.o
obj-$(CONFIG_OCXL) += ocxl/
obj-$(CONFIG_MISC_RTSX) += cardreader/
obj-$(CONFIG_UID_SYS_STATS) += uid_sys_stats.o
obj-$(CONFIG_PIR_ASCHIP) += pir-aschip.o
obj-$(CONFIG_RK803) += rk803.o
+ obj-y += wk2xxx_uart.o
调试过程中可以打开wk2xxx_uart.c 文件里面的debug
#ifdef _DEBUG_WK_TEST
i=16;
while(--i)
{
wk2xxx_read_reg(g_uart_port,1,WK2XXX_GENA,dat);
printk( "WK2XXX_GENA=:%x\n",dat[0]);
wk2xxx_write_reg(g_uart_port,1,WK2XXX_GENA,i);
}
#endif
初始化正常的话会打印以下内容
0.444307] uart_rk_init===
[ 0.444505] WK2XXX_GENA=:f0
[ 0.444893] WK2XXX_GENA=:ff
[ 0.445279] WK2XXX_GENA=:fe
[ 0.445664] WK2XXX_GENA=:fd
[ 0.446051] WK2XXX_GENA=:fc
[ 0.446435] WK2XXX_GENA=:fb
[ 0.446820] WK2XXX_GENA=:fa
[ 0.447202] WK2XXX_GENA=:f9
[ 0.447585] WK2XXX_GENA=:f8
[ 0.447967] WK2XXX_GENA=:f7
[ 0.448345] WK2XXX_GENA=:f6
[ 0.448728] WK2XXX_GENA=:f5
[ 0.449113] WK2XXX_GENA=:f4
[ 0.449496] WK2XXX_GENA=:f3
[ 0.449878] WK2XXX_GENA=:f2
dev目录下面就会挂载ttysWK的4个uart节点串口
console:/ # ls -l /dev/ttys*
crwxrwxrwx 1 root root 207, 5 2022-11-08 19:47 /dev/ttysWK0
crwxrwxrwx 1 root root 207, 6 2022-11-08 19:47 /dev/ttysWK1
crwxrwxrwx 1 root root 207, 7 2022-11-08 19:47 /dev/ttysWK2
crwxrwxrwx 1 root root 207, 8 2022-11-08 19:47 /dev/ttysWK3
wk2114 一个uart口转多个uart口驱动和dts配置
51 浏览量
2022-11-09
17:50:38
上传
评论
收藏 16KB ZIP 举报
风_铃
- 粉丝: 1
- 资源: 6
最新资源
- 筷手引流工具.apk
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈