RK3399驱动开发 | 03 - WK2124串口芯片驱动调试
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399驱动开发 | 03 - WK2124串口芯片驱动调试相关的知识,希望对你有一定的参考价值。
最近在调试过程中发现WK2124这个串口扩展芯片比较有意思,写篇文章来记录一下调试心得。
一、WK2124
1. 概述
WK2124是SPI接口的4通道UART器件,实现了SPI扩展4个串口的功能。
WK2124有以下特性:
- 低功耗设计,可以配置自动休眠,自动唤醒模式(us级唤醒)
- SPI接口最高速度10M bit/s,模式0,仅支持SPI从模式,支持最长256字节连续收发
- 每个子串口为全双工,波特率可以独立设置,最高可以达到2Mbps
- 可以实现对单个子串口软件复位
2. 原理框图
3. 封装引脚
硬件连接示意图如下:
二、Linux驱动
- 主控芯片RK3399,内核版本5.4。
- 驱动使用原厂提供的:驱动参考。
1. 驱动框架
这张图就非常有意思了:
- 驱动向上使用串口驱动框架,注册四个串口设备节点供应用调用;
- 驱动向下使用SPI驱动框架,与WK2124进行通信。
2. 设备树描述
wk2xxx: wk2xxx@0
status = "okay";
compatible = "wkmic,wk2124spi";
reg = <0>;
pinctrl-names = "default";
pinctrl-0 = <&wk2xxx_gpio>;
spi-max-frequency = <10000000>;
irq_gpio = <&gpio4 26 0>;
;
3. 驱动模块编译
开启调试日志:
4. 测试
加载驱动模块:
查看注册到内核的串口设备节点:
设置串口波特率:
发送数据:
接收数据:
以上是关于RK3399驱动开发 | 03 - WK2124串口芯片驱动调试的主要内容,如果未能解决你的问题,请参考以下文章
RK3399驱动开发 | 04 - WK2124串口芯片驱动浅析
RK3399驱动开发 | 04 - WK2124串口芯片驱动浅析
RK3399驱动开发 | 05 - 使用lszrz压测串口传输(wk2124)
使用lszrz压测串口传输(RK3399 + wk2124)