7.7.1. 模块介绍
7.7.1.1. 术语定义
术语 |
定义 |
注释说明 |
---|---|---|
GPIO |
General Purpose Input Output |
通用输入输出 |
GIC |
Generic Interrupt Controller |
通用中断控制器 |
PINCTRL |
Pin Controller |
pin脚控制器 |
7.7.1.2. 模块简介
PINCTRL模块,负责管理SOC中各个pin的状态,如驱动能力,内部是否有上下拉,gpio的输入输出,以及是否功能复用等。通过PINCTRL模块,将SOC的pin脚个数,各个pin脚可实现的功能等信息统一注册到内核中,方便系统进行统一管理。
在linux内核中,pin的功能复用由pinctrl子系统实现,gpio的输入、输出、中断功能由gpio子系统实现。而AIC的PINCTRL模块,既包括了gpio的输入输出功能,也包括了pin的功能复用。所以在驱动实现上,统一将这些功能分类整合到pinctrl子系统的框架下,即硬件gpio模块的驱动实现在pinctrl子系统下。PINCTRL驱动实际包含了3个子系统的内容:gpio子系统,pinctrl子系统,以及irqchip子系统的驱动。