SPI
芯片名称与内核版本
芯片名称 | 内核版本 |
---|---|
采用 Linux 4.4 的所有芯片 | Linux 4.4 |
采用 Linux 4.19 及以上内核的所有芯片 | Linux 4.19 及以上内核 |
前言
概述
本文介绍 Linux SPI 驱动原理和基本调试方法。
读者对象
本文档主要适用于以下工程师:
- 技术支持工程师
- 软件开发工程师
1. Rockchip SPI 功能特点
SPI (serial peripheral interface),以下是 linux 4.4 SPI 驱动支持的 一些特性︰
- 默认采用摩托罗拉 SPI 协议
- 支持 8 位和 16 位
- 软件可编程时钟频率
- 支持 SPI 4 种传输模式配置
- 每个 SPI 控制器支持一个到两个片选
- 支持 spi slave mode,有且仅有 SPI_CS0N 作为 CS 输入脚:
- 传输过程不允许切换为 GPIO function
- 不支持 CS1N 替代 除以上支持,linux 4.19 新增以下特性:
- 框架支持 slave 和 master 两种模式
1.1 SPI 接口速率
芯片名称 | Master Mode 接口最高速率 | Slave Mode 接口最高速率 |
---|---|---|
RK3506 | 50MHz | 50MHz |
RV1106B/RV1103B | 50MHz | 33MHz |
RK3576 | 50MHz | 33MHz |
RK3562 | 50MHz | 33MHz |
RK3528 | 50MHz | 33MHz |
RV1106/RV1103 | 50MHz | 33MHz |
RK3588 | 50MHz | 33MHz |
RV1126/RV1109 | 50MHz | 16MHz |
RK3568 | 50MHz | 33MHz |
RK1808 | 50MHz | 16MHz |
RK3308 | 50MHz | 16MHz |
其他芯片平台 | 50MHz | 16MHz |
说明:
- 接口最高速率为理论速率,受设备走线 PCB 质量影响,以实测为准。
- 部分平台由于 PLL 策略原因无法准确分频到上限值,实际以最大分频值为准。