Pinctrl 调试指南
Pinctrl 使用
S100芯片中3个 sys 包含可软件控制的 pin 脚,根据用户的需要,可以对 pin 脚进行功能复用,属性设置和电压域设置。
S600芯片中3个 sys 包含可软件控制的 pin 脚,根据用户的需要,可以对 pin 脚进行功能复用,属性设置和电压域设置。
Pinmux 功能
soc 中的 pin 脚可以被设置为不同的功能,通过 pinmux 设置可以根据用户需要配置为相应的功能,每个引脚有四种复用功能可选。
Pinconf 功能
soc 中的 pin 脚可以被设置为不同的状态,共包含以下几种属性:
- 上下拉设置
- 驱动强度设置
- 电压模式设置
- 输入使能设置
- 施密特设置
- 压摆率选择
io-domain 功能
S100中共存在两种电压域,分别为1.8v 和3.3v,不同的 pin 脚需要工作在合适的电压域中。手册中将 pin 脚划分入 power group 中,在手册中可以看到每个 power group 控制着一组 pin 脚。
S600中共存在两种电压域,分别为1.8v 和3.3v,不同的 pin 脚需要工作在合适的电压域中。手册中将 pin 脚划分入 power group 中,在手册中可以看到每个 power group 控制着一组 pin 脚。
源码说明
pinctrl-hobot.c 文件中包含了 S100/S600共用的 pinctrl 主逻辑代码,向 pinctrl 子系统注册设备,并向下提供 SoC 数据的初始化入口。 pinctrl-hobot-s100.c 文件中包含 S100的 pin、pin group、function 定义和设备匹配信息。
/* 路径 */
hobot-drivers/pinctrl/pinctrl-hobot.c # pinctrl 公共主逻辑
hobot-drivers/pinctrl/pinctrl-hobot.h # pinctrl 公共头文件
hobot-drivers/pinctrl/pinctrl-hobot-s100.c # S100 驱动数据代码
hobot-drivers/kernel-dts/drobot-s100-pinctrl.dtsi # S100 pinctrl 设备树
pinctrl-hobot.c 文件中包含 S100/S600共用的 pinctrl 主逻辑代码。
pinctrl-hobot-s600.c 文件中包含 S600的 pin、pin group、function 定义和设备匹配信息(compatible = "drobot,s600-pinctrl")。
/* 路径 */
hobot-drivers/pinctrl/pinctrl-hobot.c # pinctrl 公共主逻辑
hobot-drivers/pinctrl/pinctrl-hobot.h # pinctrl 公共头文件
hobot-drivers/pinctrl/pinctrl-hobot-s600.c # S600 驱动数据代码
hobot-drivers/kernel-dts/drobot-s600-pinctrl.dtsi # S600 pinctrl 设备树