- 低速 I/O 接口的工作频率低于 SoC 中的高速接口。Qualcomm 通用外设(QUP)v3 串行引擎是一个硬件核心,支持以下低速外设接口: 这些低速接口与低速外设通信,例如传感器接口设备、Bluetooth® 无线技术设备、显示或触摸接口设备。
- 高速 I/O 接口包括以下外设接口: 高速 I/O 接口用于连接高速设备,例如固态硬盘、网卡、外置显卡。
外设接口软件栈
下图展示了外设接口的软件栈。
/dev 节点或子系统 API)与外设通信。流程如下:
-
应用层
- 应用程序使用标准用户空间接口发出请求。
- 请求通过系统调用进入内核。
-
内核核心框架
- 内核将请求路由到相关子系统,例如:
- I2C
- SPI
- I3C
- TTY
- 子系统执行以下功能:
- 提供协议感知的抽象
- 管理同步和并发
- 集成电源管理钩子
- 为客户端提供统一的编程接口
- 内核将请求路由到相关子系统,例如:
-
协议控制器驱动程序
- 核心框架调用协议控制器驱动程序。
- 驱动程序将框架级操作转换为特定于硬件的命令。
-
QUPv3 GENI 串行引擎(Qualcomm 平台)
- 控制器驱动程序对 QUPv3 GENI 串行引擎进行编程。
- GENI 使用以下内容实现所选协议(I2C、SPI、I3C 或 UART):
- 已配置的传输模式
- 协议固件
-
GENI 硬件执行
- 执行寄存器级操作。
- 在系统与外部设备之间移动数据。
- 驱动程序和设备生命周期管理
- 并发处理
- 整个软件栈中的电源状态协调
图:外设接口软件栈高层(低层视图)
QUP v3
Qualcomm 使用 QUP v3——一种高度灵活且可编程的硬件,以支持广泛的串行接口。有关 QUP v3 的更多信息,请参阅以下资源:- QUP v3 overview
- Supported transfer modes in QUP v3
- QUP v3 access control customization
- QUP v3 firmware status verification
注意
- boot 和 aDSP 子系统的源代码可供拥有授权访问权限的获许可开发者使用。
- 请参阅 Qualcomm Linux 支持的硬件 SoC。
注意在本指南中,
<chipset> 指 QCS6490、QCS5430、Qualcomm Dragonwing™ IQ-9075、Qualcomm Dragonwing™ IQ-8275、Qualcomm Dragonwing™ IQ-615、Qualcomm Dragonwing™ IQ-X7181、Qualcomm Dragonwing™ IQ-X5121、Qualcomm Dragonwing™ Shikra 或 Qualcomm Dragonwing™ IQ10 Nord。对应的设备树源码如下所示:- QCS6490/QCS5430:qcs6490-rb3gen2.dts
- IQ-9075:lemans-evk.dts
- IQ-615:talos-evk.dts
- IQ-X7181:hamoa-iot-evk.dts
- IQ-X5121:purwa-iot-evk.dts
- Shikra:shikra-iqs-evk.dts、shikra-cqm-evk.dts

