PINCTRL
介绍PIN的功能和使用方法。
pin 配置参数
对 pin id、复用功能和属性进行定义。
详细定义linux-6.1/include/dt-bindings/pinctrl/k1-x-pinctrl.h
。
pin id
即 pin 编号。
K1 pin 编号范围1~147,对应宏定义 GPIO_00 ~ GPIO_147
。
pin 功能
k1 pin 支持复用选择。
k1 pin 复用功能列表见K1 Pin Multiplex。
pin 的复用功能号为 0~7,分别定义为 MUX_MODE0 ~ MUX_MODE7
。
pin 属性
pin 的属性包括边沿检测、上下拉和驱动能力。
边沿检测
采用功能 pin 唤醒系统时,设置产生唤醒事件的信号检测方式。
支持如下四种模式:
- 边沿检测关闭:
EDGE_NONE
- 上升沿检测:
EDGE_RISE
- 下降沿检测:
EDGE_FALL
- 上升和下降沿:
EDGE_BOTH
上下拉
支持如下三种模式:
- 上下拉禁止:
PULL_DIS
- 上拉:
PULL_UP
- 下拉:
PULL_DOWN
驱动能力
- pin 电压为 1.8v
分为 4 级,值越大,驱动能力越强。
- PAD_1V8_DS0
- PAD_1V8_DS1
- PAD_1V8_DS2
- PAD_1V8_DS3
- pin 电压为 3.3v
分为 7 级,值越大,驱动能力越强
- PAD_3V_DS0
- PAD_3V_DS1
- PAD_3V_DS2
- PAD_3V_DS3
- PAD_3V_DS4
- PAD_3V_DS5
- PAD_3V_DS6
- PAD_3V_DS7