rk3288下pinctrl和gpio子系统的beep驱动实验

pintctrl子系统就可以配置引脚的方向、速度、上下拉、驱动能力等基本的电气特性以及复用功能,可以避免IO口背重复配置,造成复用冲突。

pinctrl对于pin管理功能:

  • 关联设备树,根据设备树pin信息在内核起来后进行配置pin引脚
  • pin复用功能管理
  • pin电气特性设置

在 rk3288-firefly.dtsi 文件中,pinctrl 的描述如下:(部分)
rk3288下pinctrl和gpio子系统的beep驱动实验
我们在rk3288-firefly.dts 文件中向 pinctrl 节点追加我们要使用的GPIO信息:
rk3288下pinctrl和gpio子系统的beep驱动实验
在rk3288-firefly.dts 文件中,的根节点下建立自己的设备节点:
rk3288下pinctrl和gpio子系统的beep驱动实验
编译之后启动系统,可以在/proc/device-tree/ 下找到beep-gpio节点。(忘记截图)

以下是简单的驱动程序: 未做错误集中处理
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验
rk3288下pinctrl和gpio子系统的beep驱动实验