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子系统的驱动。