PINCTRL
介绍PIN的功能和使用方法。
模块介绍
PINCTRL是PIN模块的控制器。
功能介绍
Linux pinctrl模块包括两部分: pinctrl core和pin 控制器驱动。
pinctrl core主要有两个功能:
- 提供pinctrl功能接口给其它驱动使用
- 提供pin控制器设备注册与注销接口
pinctrl控制器驱动主要功能:
- 驱动pin控制器硬件
- 实现pin的管理和配置
源码结构介绍
控制器驱动代码在drivers/pinctrl目录下:
drivers/pinctrl
|-- pinctrl-single.c
关键特性
特性 | 特性说明 |
---|---|
支持pin复用选择 | 支持将pin设置成复用功能中一种 |
支持设置pin的属性 | 支持设置pin的边沿检测、上下拉和驱动能力 |
配置介绍
主要包括驱动使能配置和dts配置
CONFIG配置
CONFIG_PINCTRL 为pin控制器提供支持,默认情况,此选项为Y
Device Drivers
Pin controllers (PINCTRL [=y])
CONFIG_PINCTRL_SINGLE 为k1 pinctrl控制器提供支持,默认情况,此选项为Y
Device Drivers
Pin controllers (PINCTRL [=y])
One-register-per-pin type device tree based pinctrl driver (PINCTRL_SINGLE [=y])
pin使用说明
介绍在dts设备节点里使用pin