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)

RK3399驱动开发 | 10 - RK3399以太网gmac调试

RK3399驱动开发 | 10 - RK3399以太网gmac调试